diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/common/service/impl/PmsCommonAsyncServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/common/service/impl/PmsCommonAsyncServiceImpl.java index 0821be323..5c85a58f0 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/common/service/impl/PmsCommonAsyncServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/common/service/impl/PmsCommonAsyncServiceImpl.java @@ -18,6 +18,7 @@ import com.microservices.pms.enums.ProjectIssueStatus; import com.microservices.pms.product.domain.PmsProductRequirement; import com.microservices.pms.product.service.IPmsProductRequirementService; import com.microservices.pms.project.domain.*; +import com.microservices.pms.project.domain.vo.PmsProjectInputVo; import com.microservices.pms.project.domain.vo.PmsProjectIssuesInputVo; import com.microservices.pms.project.domain.vo.PmsProjectTestReportInputVo; import com.microservices.pms.project.domain.vo.PmsProjectTestsheetCaseInputVo; @@ -78,6 +79,9 @@ public class PmsCommonAsyncServiceImpl implements IPmsCommonAsyncService { @Autowired @Lazy private IPmsProductRequirementService pmsProductRequirementService; + @Autowired + @Lazy + private IPmsProjectService pmsProjectService; private static final String INITIALIZE_NAME = "【示例%s】研发示例%s"; @@ -398,14 +402,12 @@ public class PmsCommonAsyncServiceImpl implements IPmsCommonAsyncService { } private Long initializePmsProject(Long id, Long creatorGitLinkUserId) { - PmsEnterprise pmsEnterprise = pmsEnterpriseService.selectPmsEnterpriseById(id); - PmsProject pmsProject = new PmsProject(); - pmsProject.setPmsEnterpriseId(id); + // 创建项目 + PmsProjectInputVo pmsProjectInputVo = new PmsProjectInputVo(); + pmsProjectInputVo.setPmsEnterpriseId(id); String name = "项目"; - pmsProject.setProjectName(String.format(INITIALIZE_NAME, name, name)); - pmsProject.setProjectAssigneeId(creatorGitLinkUserId); - pmsProject.setDeptId(pmsEnterprise.getDeptId()); - pmsProjectMapper.insertPmsProject(pmsProject); - return pmsProject.getId(); + pmsProjectInputVo.setProjectName(String.format(INITIALIZE_NAME, name, name)); + pmsProjectInputVo.setProjectAssigneeId(creatorGitLinkUserId); + return (long) pmsProjectService.insertPmsProject(pmsProjectInputVo); } } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/controller/PmsCiPipelinesController.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/controller/PmsCiPipelinesController.java index 9dbcf02bc..3aff4746a 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/controller/PmsCiPipelinesController.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/controller/PmsCiPipelinesController.java @@ -204,14 +204,26 @@ public class PmsCiPipelinesController extends BaseController return success(pmsCiPipelinesService.savePipelineYamlByGraphicJson(id, pmsCiPipelineBuildInputVo)); } + /** + * 启动流水线执行记录任务 + */ + @PostMapping(value = "/{id}/actions/runs/run") + @ApiOperation("启动流水线执行记录任务") + public AjaxResult runPipelineRunsJob(@ApiParam(name = "id", value = "流水线id") @PathVariable Long id, + @ApiParam(name = "workflow", value = "流水线文件名称", required = true) @RequestParam String workflow, + @ApiParam(name = "ref", value = "分支名称", required = true) @RequestParam String ref) + { + return success(pmsCiPipelinesService.runPipelineRunsJob(id, workflow, ref)); + } + /** * 重启流水线执行记录任务 */ @PostMapping(value = "/{id}/actions/runs/{run}/jobs/{job}/rerun") @ApiOperation("重启流水线执行记录任务") public AjaxResult reRunPipelineRunsJob(@ApiParam(name = "id", value = "流水线id")@PathVariable Long id, - @ApiParam(name = "run", value = "执行记录序号")@PathVariable String run, - @ApiParam(name = "job", value = "执行任务序号")@PathVariable String job) + @ApiParam(name = "run", value = "执行记录序号")@PathVariable String run, + @ApiParam(name = "job", value = "执行任务序号")@PathVariable String job) { return success(pmsCiPipelinesService.reRunPipelineRunsJob(id, run, job)); } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/IPmsCiPipelinesService.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/IPmsCiPipelinesService.java index a2f866724..ce3e38f87 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/IPmsCiPipelinesService.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/IPmsCiPipelinesService.java @@ -96,4 +96,6 @@ public interface IPmsCiPipelinesService JSONObject reRunAllJobsInPipelineRun(Long id, String run); void getPipelineRunJobLogs(Long id, String run, String job, HttpServletResponse response); + + JSONObject runPipelineRunsJob(Long id, String workflow, String ref); } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/impl/PmsCiPipelinesServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/impl/PmsCiPipelinesServiceImpl.java index 5d5c3e29f..e7a758018 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/impl/PmsCiPipelinesServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/pipeline/service/impl/PmsCiPipelinesServiceImpl.java @@ -123,7 +123,6 @@ public class PmsCiPipelinesServiceImpl implements IPmsCiPipelinesService { checkPipelineExistence(pmsCiPipelinesInputVo); PmsCiPipelines pmsCiPipelines = buildPmsCiPipelines(pmsCiPipelinesInputVo, enterpriseIdentifier); pmsCiPipelinesMapper.insertPmsCiPipelines(pmsCiPipelines); - openRepoActionModule(pmsCiPipelines.getOwner(), pmsCiPipelines.getRepoIdentifier()); JSONObject result = new JSONObject(); result.put("id", pmsCiPipelines.getId()); return result; @@ -376,6 +375,18 @@ public class PmsCiPipelinesServiceImpl implements IPmsCiPipelinesService { job), null); } + @Override + public JSONObject runPipelineRunsJob(Long id, String workflow, String ref) { + PmsCiPipelines pmsCiPipelines = pmsCiPipelinesMapper.selectPmsCiPipelinesById(id); + if (pmsCiPipelines == null) { + throw new ServiceException("该项目流水线不存在(流水线ID[%s])", id); + } + return gitLinkRequestHelper.doPost(PmsGitLinkRequestUrl.RUN_PIPELINE_RUNS_JOB(pmsCiPipelines.getOwner(), + pmsCiPipelines.getRepoIdentifier(), + workflow, + ref), null); + } + @Override public JSONObject reRunAllJobsInPipelineRun(Long id, String run) { PmsCiPipelines pmsCiPipelines = pmsCiPipelinesMapper.selectPmsCiPipelinesById(id); diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/impl/PmsProjectServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/impl/PmsProjectServiceImpl.java index 4f3b897c2..73d639445 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/impl/PmsProjectServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/project/service/impl/PmsProjectServiceImpl.java @@ -183,7 +183,7 @@ public class PmsProjectServiceImpl implements IPmsProjectService } PmsProject pmsProject = pmsProjectInputVo.toPmsProject(); pmsProject.setDeptId(pmsEnterprise.getDeptId()); - int count = pmsProjectMapper.insertPmsProject(pmsProject); + pmsProjectMapper.insertPmsProject(pmsProject); //同步新增项目-仓库数据 if (StringUtils.isNotEmpty(pmsProjectInputVo.getProjectRepositoryIds())) { List repositoryIdList = Arrays.asList(pmsProjectInputVo.getProjectRepositoryIds().split(",")); @@ -220,7 +220,7 @@ public class PmsProjectServiceImpl implements IPmsProjectService } } } - return count; + return pmsProject.getId().intValue(); } /** diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/utils/PmsGitLinkRequestUrl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/utils/PmsGitLinkRequestUrl.java index 124fd0281..c987dab56 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/utils/PmsGitLinkRequestUrl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/utils/PmsGitLinkRequestUrl.java @@ -368,6 +368,10 @@ public class PmsGitLinkRequestUrl extends GitLinkRequestUrl { return getGitLinkRequestUrl(String.format("/api/v1/%s/%s/actions/runs/%s/jobs/%s/rerun", owner, repoIdentifier, run, job)); } + public static GitLinkRequestUrl RUN_PIPELINE_RUNS_JOB(String owner, String repoIdentifier, String workflow, String ref){ + return getGitLinkRequestUrl(String.format("/api/v1/%s/%s/actions/runs?workflow=%s&ref=%s", owner, repoIdentifier, workflow, ref)); + } + public static GitLinkRequestUrl RERUN_ALL_JOBS_IN_PIPELINE_RUN(String owner, String repoIdentifier, String run){ return getGitLinkRequestUrl(String.format("/api/v1/%s/%s/actions/runs/%s/rerun", owner, repoIdentifier, run)); }