def create(self, request, *args, **kwargs): serializer = APIRunCreateSerializer(data=request.data, context={'request': request}) if serializer.is_valid(): run = serializer.save() response = RunSerializerFull(run) create_run_task.delay(response.data['id'], request.data['inputs']) job_group_notifier_id = str(run.job_group_notifier_id) self._send_notifications(job_group_notifier_id, run) return Response(response.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request): run_id = request.data.get('run') run = RunObject.from_db(run_id) inputs = dict() for port in run.inputs: inputs[port.name] = port.db_value data = dict(app=str(run.run_obj.app.id), inputs=inputs, tags=run.tags, job_group_id=run.job_group.id, job_group_notifier_id=run.job_group_notifier.id, resume=run_id) serializer = APIRunCreateSerializer(data=data, context={'request': request}) if serializer.is_valid(): new_run = serializer.save() response = RunSerializerFull(new_run) create_run_task.delay(response.data['id'], data['inputs']) job_group_notifier_id = str(new_run.job_group_notifier_id) self._send_notifications(job_group_notifier_id, new_run) return Response(response.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)