def start_ci_task(request, task_id, parameter_group_id, project_version): ci_task = CITask.objects.get(int(task_id)) queuetask = TaskQueue() queuetask.EnqueueTime = DateTimeHelper.get_local_now() queuetask.TaskType = ci_task.TaskType queuetask.Command = TaskQueueCommandTypeEnum.TaskQueueCommandType_Start queuetask.Priority = 2 queuetask.Status = TaskQueueStatusEnum.QueueTaskStatus_New queuetask.TaskID = int(task_id) queuetask.TaskUUID = uuid.uuid1() if parameter_group_id: queuetask.BuildParameterID = parameter_group_id else: queuetask.BuildParameterID = CITaskParameterService.default_parameter_group( int(task_id)) queuetask.save() ci_task.BuildVersion = ci_task.BuildVersion + 1 if str(project_version) == '0': project_version = VersionService.get_latest_version( ci_task.Project) if project_version: project_version = project_version.id else: project_version = 0 ci_task.LastHistory = CITaskService.save_ci_taskhistory( request, queuetask, ci_task, project_version) ci_task.save(update_fields=['BuildVersion', 'LastHistory']) message = "任务ID为:" + str(task_id) + "的执行指令已经下发,请耐心等待。" user_id = 0 if request.user.id: user_id = request.user.id CITaskService.log_build_activity(user_id, ci_task) CITaskService.send_task_enqueue_message() return [queuetask.id, message, queuetask.TaskUUID]
def get_latest_version(self, project_id): result = '--' latest_version = VersionService.get_latest_version(project_id) if latest_version: result = latest_version.id return result
def get_project_latest_version(project_id): result = 0 version = VersionService.get_latest_version(project_id) if version: result = version.id return result
def lastest_version(self): result = "--" version = VersionService.get_latest_version(self.project.id) if version: result = version.VVersion return result