def post(self, request, *args, **kwargs):
     task_id = int(self.kwargs['task_id'])
     config_stages = request.data.get('config_stages', None)
     if config_stages is not None:
         for stage in config_stages:
             temp_serializer = self.get_serializer(data=stage)
             temp_serializer.is_valid()
             temp_serializer._saving_instances = False
             instance = CITaskConfigService.task_stage(stage.get('id'))
             instance = temp_serializer.recursive_save(
                 temp_serializer.validated_data, instance)
             instance.save()
             for step in stage.get('steps', []):
                 temp_serializer = ci_step_serializer.CITaskStepSerializer(
                     data=step)
                 temp_serializer.is_valid()
                 temp_serializer._saving_instances = False
                 instance = CITaskConfigService.task_step(step.get('id'))
                 instance = temp_serializer.recursive_save(
                     temp_serializer.validated_data, instance)
                 instance.save()
         parameter_groups = CITaskParameterService.task_parameter_list(
             task_id)
         for group in parameter_groups:
             CITaskParameterService.save_step_settings(str(group.id))
     return Response(config_stages, status=status.HTTP_201_CREATED)
 def delete(self, request, *args, **kwargs):
     step_id = self.kwargs['step_id']
     step = CITaskConfigService.task_step(step_id)
     stage = CITaskConfigService.task_stage(step.stage_id)
     parameter_groups = CITaskParameterService.task_parameter_list(
         stage.task_id)
     for group in parameter_groups:
         CITaskParameterService.save_step_settings(str(group.id))
     return self.destroy(request, *args, **kwargs)
Example #3
0
 def get_log_content(output,show_content):
     temp_output = dict()
     temp_output["id"] = output.id
     task_step = CITaskConfigService.task_step(output.StepID)
     if task_step:
         temp_output["step_name"] = str(task_step.step_config["step_name"]) + " " + str(task_step.purpose_name)
     else:
         temp_output["step_name"] = "--"
     log_file = FileInfo.objects.get(output.ProductID)
     if (log_file is not None and log_file.FileSize<512) or show_content:
         contents = CITaskHistoryService.get_big_build_log(output.ProductID)
         c = contents.read()
         log_content = c.decode('utf-8').replace("base", "")
         log_content = CITaskHistoryService.format_build_log(log_content)
         temp_output["log_content"] = log_content
         temp_output["show_content"] = True
     else:
         temp_output["log_content"] = "日志内容较多,请手动加载"
         temp_output["show_content"] = False
     return temp_output
 def get_object(self):
     result = None
     step_id = self.kwargs.get('step_id', None)
     if step_id is not None:
         result = CITaskConfigService.task_step(step_id)
     return result
 def get_step_name(self,obj):
     result = "--"
     task_step = CITaskConfigService.task_step(obj.StepID)
     if task_step:
         result = str(task_step.step_config["step_name"])+" "+str(task_step.purpose_name)
     return result
 def get_step_name(self,step_id):
     result = ''
     task_step = CITaskConfigService.task_step(step_id)
     if task_step and task_step.purpose_name.strip():
         result = task_step.purpose_name
     return result