From 8e4a9bb6950c5c0e4ab4acf9399467d0d3c532a2 Mon Sep 17 00:00:00 2001 From: asp_ly Date: Sun, 29 Dec 2024 00:33:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=9F=E6=88=90=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E6=9C=8D=E5=8A=A1=E4=BB=A3=E7=A0=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/deploy/entity/JenkinsBuild.java | 2 +- .../impl/JenkinsServiceIntegration.java | 15 +++++++++++---- .../response/JenkinsBuildResponse.java | 10 +++++++++- .../service/impl/JenkinsBuildServiceImpl.java | 3 +-- 4 files changed, 22 insertions(+), 8 deletions(-) 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