diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/JenkinsBuild.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/JenkinsBuild.java index 18c94dd5..b3c08062 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/JenkinsBuild.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/entity/JenkinsBuild.java @@ -30,7 +30,7 @@ public class JenkinsBuild extends Entity { @Column(name = "startTime", nullable = false) private LocalDateTime starttime; - @Column(name = "actions") + @Column(name = "actions", columnDefinition = "TEXT") private String actions; @Column(name = "external_system_id", nullable = false) diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/integration/impl/JenkinsServiceIntegration.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/integration/impl/JenkinsServiceIntegration.java index bb4f9763..a17b0f63 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/integration/impl/JenkinsServiceIntegration.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/integration/impl/JenkinsServiceIntegration.java @@ -353,15 +353,22 @@ public class JenkinsServiceIntegration implements IJenkinsServiceIntegration { * @return 构建信息列表 */ public List listBuilds(ExternalSystem externalSystem, String jobName) { - String treeQuery = "builds[number,url,result,timestamp,duration,building," + - "description,displayName,fullDisplayName,id,keepLog,queueId," + - "actions[*],changeSets[*],artifacts[*]]"; - return callJenkinsApi( + String treeQuery = "builds[number,url,result,timestamp,duration,building,actions[_class,parameters[_class,name,value]]]"; + List builds = callJenkinsApi( externalSystem, "/job/" + jobName + "/api/json", treeQuery, "builds", JenkinsBuildResponse.class ); + + String baseUrl = StringUtils.removeEnd(externalSystem.getUrl(), "/"); + return builds.stream() + .peek(build -> { + if (build.getUrl() != null) { + build.setUrl(build.getUrl().replace(baseUrl, "")); + } + }) + .toList(); } } diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/integration/response/JenkinsBuildResponse.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/integration/response/JenkinsBuildResponse.java index e1beda17..5ab374d4 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/integration/response/JenkinsBuildResponse.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/integration/response/JenkinsBuildResponse.java @@ -110,10 +110,18 @@ public class JenkinsBuildResponse { public static class BuildParameter { @JsonProperty("_class") private String type; - private Map parameters; + private List parameters; private Map causes; } + @Data + public static class Parameter { + @JsonProperty("_class") + private String type; + private String name; + private String value; + } + @Data public static class ChangeSet { private String kind; diff --git a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/JenkinsBuildServiceImpl.java b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/JenkinsBuildServiceImpl.java index 8cc58b1d..9a6c5a6c 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/JenkinsBuildServiceImpl.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/deploy/service/impl/JenkinsBuildServiceImpl.java @@ -159,8 +159,7 @@ public class JenkinsBuildServiceImpl extends BaseServiceImpl