From e9eb0d0b8229cbf1739552b7786616c489cfa463 Mon Sep 17 00:00:00 2001 From: dengqichen Date: Mon, 30 Dec 2024 18:04:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=A3=B0=E9=81=93=E6=92=92=E6=97=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../variables/JenkinsBaseBuildVariables.java | 62 ++++++++++++++++++- .../backend/workflow/util/BpmnConverter.java | 2 +- 2 files changed, 60 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/variables/JenkinsBaseBuildVariables.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/variables/JenkinsBaseBuildVariables.java index a7baf59d..a1fc6242 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/variables/JenkinsBaseBuildVariables.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/variables/JenkinsBaseBuildVariables.java @@ -2,6 +2,8 @@ package com.qqchen.deploy.backend.deploy.dto.variables; import com.qqchen.deploy.backend.workflow.annotation.CodeEditorConfig; import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; +import com.qqchen.deploy.backend.workflow.annotation.SchemaPropertyDataSource; +import com.qqchen.deploy.backend.workflow.annotation.SchemaPropertyDataSourceParam; import lombok.Data; /** @@ -10,11 +12,65 @@ import lombok.Data; @Data public class JenkinsBaseBuildVariables { + + @SchemaProperty( + title = "绑定三方Jenkins", + description = "请选择三方Jenkins", + required = true, + dataSource = @SchemaPropertyDataSource( + type = "api", + url = "/api/v1/external-system/list?type=JENKINS", + valueField = "id", + labelField = "name" + ), + order = 1 + ) + private String externalSystemId; + + + @SchemaProperty( + title = "绑定Jenkins视图", + description = "Jenkins视图名称", + required = true, + dataSource = @SchemaPropertyDataSource( + type = "api", + url = "/api/v1/jenkins-view/list", + valueField = "viewName", + labelField = "viewName", + dependsOn = {"externalSystemId"}, + params = { + @SchemaPropertyDataSourceParam(name = "externalSystemId", value = "${externalSystemId}") + } + ), + order = 2 + ) + private String jenkinsViewName; + + + @SchemaProperty( + title = "绑定Jenkins任务", + description = "Jenkins任务名称", + required = true, + dataSource = @SchemaPropertyDataSource( + type = "api", + url = "/api/v1/jenkins-job/list", + valueField = "jobName", + labelField = "jobName", + dependsOn = {"projectId", "viewName"}, + params = { + @SchemaPropertyDataSourceParam(name = "externalSystemId", value = "${externalSystemId}"), + @SchemaPropertyDataSourceParam(name = "viewName", value = "${viewName}") + } + ), + order = 3 + ) + private String jenkinsJobName; + @SchemaProperty( title = "分支名称", description = "Git分支名称", required = true, - order = 1 + order = 4 ) private String branch; @@ -22,7 +78,7 @@ public class JenkinsBaseBuildVariables { @SchemaProperty( title = "构建产物路径", description = "构建产物路径", - order = 2 + order = 5 ) private String artifactPath; @@ -44,7 +100,7 @@ public class JenkinsBaseBuildVariables { autoComplete = true, folding = true ), - order = 3 + order = 6 ) private String script; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/BpmnConverter.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/BpmnConverter.java index 2dbaa134..b9da0889 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/BpmnConverter.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/util/BpmnConverter.java @@ -231,7 +231,7 @@ public class BpmnConverter { * @param extensionElements 扩展元素 */ private void configureServiceTask(ServiceTask serviceTask, WorkflowDefinitionGraphNode node, Process process, Map> extensionElements) { - if (node.getLocalVariables() != null && node.getLocalVariables().has("delegate")) { + if (node.getPanelVariables() != null && node.getPanelVariables().has("delegate")) { String delegate = node.getLocalVariables().get("delegate").asText(); serviceTask.setImplementationType("delegateExpression"); serviceTask.setImplementation(delegate);