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 4c9802f5..9be63cd2 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 @@ -4,104 +4,20 @@ 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 com.qqchen.deploy.backend.workflow.dto.definition.node.fromVariables.DeployNodeFormVariables; import lombok.Data; /** * Jenkins构建变量 */ @Data -public class JenkinsBaseBuildVariables { - +public class JenkinsBaseBuildVariables extends DeployNodeFormVariables { @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 + title = "", + description = "审批人填写的意见", + order = 0 ) - private String externalSystemId; - - - @SchemaProperty( - title = "绑定Jenkins视图", - description = "Jenkins视图", - required = true, - dataSource = @SchemaPropertyDataSource( - type = "api", - url = "/api/v1/jenkins-view/list", - valueField = "id", - labelField = "viewName", - dependsOn = {"externalSystemId"}, - params = { - @SchemaPropertyDataSourceParam(name = "externalSystemId", value = "${externalSystemId}") - } - ), - order = 2 - ) - private String viewId; - - - @SchemaProperty( - title = "绑定Jenkins任务", - description = "Jenkins任务", - required = true, - dataSource = @SchemaPropertyDataSource( - type = "api", - url = "/api/v1/jenkins-job/list", - valueField = "id", - labelField = "jobName", - dependsOn = {"externalSystemId", "viewId"}, - params = { - @SchemaPropertyDataSourceParam(name = "externalSystemId", value = "${externalSystemId}"), - @SchemaPropertyDataSourceParam(name = "viewId", value = "${viewId}") - } - ), - order = 3 - ) - private String jobId; - - @SchemaProperty( - title = "分支名称", - description = "GIT分支名称", - required = true, - order = 4 - ) - private String branch; - - - @SchemaProperty( - title = "构建产物路径", - description = "构建产物路径", - order = 5 - ) - private String artifactPath; - - - @SchemaProperty( - title = "Pipeline script", - description = "流水线脚本", - required = true, - format = "monaco-editor", // 使用 Monaco Editor - defaultValue = "#!/bin/bash\n\necho \"Hello World\"", - codeEditor = @CodeEditorConfig( - language = "shell", - theme = "vs-dark", - minimap = false, - lineNumbers = true, - wordWrap = true, - fontSize = 14, - tabSize = 2, - autoComplete = true, - folding = true - ), - order = 6 - ) - private String script; + private String taskId; } \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/variables/JenkinsJavaBuildVariables.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/variables/JenkinsJavaBuildVariables.java index ab0c6027..7cee46de 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/variables/JenkinsJavaBuildVariables.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/dto/variables/JenkinsJavaBuildVariables.java @@ -1,5 +1,6 @@ package com.qqchen.deploy.backend.deploy.dto.variables; +import com.qqchen.deploy.backend.workflow.dto.definition.node.fromVariables.DeployNodeFormVariables; import lombok.Data; @@ -7,8 +8,7 @@ import lombok.Data; * Jenkins构建变量 */ @Data -public class JenkinsJavaBuildVariables extends JenkinsBaseBuildVariables { - +public class JenkinsJavaBuildVariables extends DeployNodeFormVariables { } \ No newline at end of file diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/BaseDeployNodeFormVariables.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/BaseDeployNodeFormVariables.java deleted file mode 100644 index 6ba0393c..00000000 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/BaseDeployNodeFormVariables.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.qqchen.deploy.backend.workflow.dto.definition.node.fromVariables; - -import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; -import lombok.Data; - -/** - * 每次使用基本都是会变的变量 - */ -@Data -public class BaseDeployNodeFormVariables { - - @SchemaProperty( - title = "禅道ID", - description = "真实的禅道ID", - required = true - ) - private String zentaoId; - -} diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/BaseNodeFormVariables.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/BaseNodeFormVariables.java index 1a4aaa0b..7fbe4277 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/BaseNodeFormVariables.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/BaseNodeFormVariables.java @@ -9,6 +9,4 @@ import lombok.Data; @Data public class BaseNodeFormVariables { - - } diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/ScriptNodeFormVariables.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/ScriptNodeFormVariables.java index cee98075..51358254 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/ScriptNodeFormVariables.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/dto/definition/node/fromVariables/ScriptNodeFormVariables.java @@ -4,7 +4,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; @Data -@EqualsAndHashCode(callSuper = true) -public class ScriptNodeFormVariables extends BaseDeployNodeFormVariables { +public class ScriptNodeFormVariables { } diff --git a/backend/src/main/java/com/qqchen/deploy/backend/workflow/listener/flowable/execution/GlobalExecutionListener.java b/backend/src/main/java/com/qqchen/deploy/backend/workflow/listener/flowable/execution/GlobalExecutionListener.java index 9a33be58..1a833272 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/workflow/listener/flowable/execution/GlobalExecutionListener.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/workflow/listener/flowable/execution/GlobalExecutionListener.java @@ -42,16 +42,16 @@ public class GlobalExecutionListener implements ExecutionListener { WorkflowNodeInstanceStatusEnums status = null; LocalDateTime startTime = null; LocalDateTime endTime = null; + String nodeExecutionStatus = Optional.ofNullable(execution.getVariables()) + .map(vars -> vars.get(WORKFLOW_PREVIOUS_NODE_EXECUTION_STATUS_VARIABLE_NAME)) + .map(Object::toString) + .orElse(null); switch (eventName) { case ExecutionListener.EVENTNAME_START: status = WorkflowNodeInstanceStatusEnums.RUNNING; startTime = now; break; case ExecutionListener.EVENTNAME_END: - String nodeExecutionStatus = Optional.ofNullable(execution.getVariables()) - .map(vars -> vars.get(WORKFLOW_PREVIOUS_NODE_EXECUTION_STATUS_VARIABLE_NAME)) - .map(Object::toString) - .orElse(null); if (StringUtils.isEmpty(nodeExecutionStatus)) { status = WorkflowNodeInstanceStatusEnums.COMPLETED; } else { @@ -77,5 +77,8 @@ public class GlobalExecutionListener implements ExecutionListener { .startTime(startTime) .endTime(endTime) .build()); + if (StringUtils.isNotEmpty(nodeExecutionStatus)) { + execution.removeVariable(WORKFLOW_PREVIOUS_NODE_EXECUTION_STATUS_VARIABLE_NAME); + } } } \ No newline at end of file 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 b9da0889..2cda6bed 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 @@ -232,7 +232,7 @@ public class BpmnConverter { */ private void configureServiceTask(ServiceTask serviceTask, WorkflowDefinitionGraphNode node, Process process, Map> extensionElements) { if (node.getPanelVariables() != null && node.getPanelVariables().has("delegate")) { - String delegate = node.getLocalVariables().get("delegate").asText(); + String delegate = node.getPanelVariables().get("delegate").asText(); serviceTask.setImplementationType("delegateExpression"); serviceTask.setImplementation(delegate); }