增加构建通知

This commit is contained in:
dengqichen 2025-11-15 10:51:12 +08:00
parent 56a9e39bbe
commit c09d82e7b5
5 changed files with 5 additions and 12 deletions

View File

@ -452,13 +452,9 @@ public class JenkinsServiceIntegrationImpl extends BaseExternalSystemIntegration
throw new BusinessException(ResponseCode.JENKINS_API_ERROR, new Object[] {200, "队列信息为空"}); throw new BusinessException(ResponseCode.JENKINS_API_ERROR, new Object[] {200, "队列信息为空"});
} }
// 检查是否被取消
Boolean cancelled = (Boolean) queueInfo.get("cancelled");
if (Boolean.TRUE.equals(cancelled)) {
throw new BusinessException(ResponseCode.JENKINS_BUILD_CANCELLED_IN_QUEUE);
}
// 检查是否已开始执行 // 检查是否已开始执行
// 注意即使 cancelled=trueJenkins 也可能已分配 buildNumber
// 此时应继续获取 buildNumber让后续 pollBuildStatus 检测到 ABORTED 状态
Map<String, Object> executable = (Map<String, Object>) queueInfo.get("executable"); Map<String, Object> executable = (Map<String, Object>) queueInfo.get("executable");
if (executable != null) { if (executable != null) {
return new JenkinsQueueBuildInfoResponse( return new JenkinsQueueBuildInfoResponse(
@ -466,7 +462,8 @@ public class JenkinsServiceIntegrationImpl extends BaseExternalSystemIntegration
(String) executable.get("url") (String) executable.get("url")
); );
} }
// 还在队列中
// 还在队列中等待
return null; return null;
} }

View File

@ -252,8 +252,7 @@ public enum ResponseCode {
JENKINS_QUEUE_TIMEOUT(3205, "jenkins.queue.timeout"), JENKINS_QUEUE_TIMEOUT(3205, "jenkins.queue.timeout"),
JENKINS_BUILD_TIMEOUT(3206, "jenkins.build.timeout"), JENKINS_BUILD_TIMEOUT(3206, "jenkins.build.timeout"),
JENKINS_API_ERROR(3207, "jenkins.api.error"), JENKINS_API_ERROR(3207, "jenkins.api.error"),
JENKINS_RESPONSE_PARSE_ERROR(3208, "jenkins.response.parse.error"), JENKINS_RESPONSE_PARSE_ERROR(3208, "jenkins.response.parse.error");
JENKINS_BUILD_CANCELLED_IN_QUEUE(3209, "jenkins.build.cancelled.in.queue");
private final int code; private final int code;
private final String messageKey; // 国际化消息key private final String messageKey; // 国际化消息key

View File

@ -275,4 +275,3 @@ jenkins.queue.timeout=Jenkins构建队列超时等待时间超过{0}秒
jenkins.build.timeout=Jenkins构建超时job={0}, buildNumber={1}, 超时时间{2}分钟 jenkins.build.timeout=Jenkins构建超时job={0}, buildNumber={1}, 超时时间{2}分钟
jenkins.api.error=Jenkins API调用失败HTTP {0}, {1} jenkins.api.error=Jenkins API调用失败HTTP {0}, {1}
jenkins.response.parse.error=Jenkins响应解析失败{0} jenkins.response.parse.error=Jenkins响应解析失败{0}
jenkins.build.cancelled.in.queue=Jenkins构建在队列中被取消

View File

@ -208,4 +208,3 @@ jenkins.queue.timeout=Jenkins build queue timeout, waited more than {0} seconds
jenkins.build.timeout=Jenkins build timeout: job={0}, buildNumber={1}, timeout {2} minutes jenkins.build.timeout=Jenkins build timeout: job={0}, buildNumber={1}, timeout {2} minutes
jenkins.api.error=Jenkins API call failed: HTTP {0}, {1} jenkins.api.error=Jenkins API call failed: HTTP {0}, {1}
jenkins.response.parse.error=Jenkins response parse error: {0} jenkins.response.parse.error=Jenkins response parse error: {0}
jenkins.build.cancelled.in.queue=Jenkins build was cancelled in queue

View File

@ -208,4 +208,3 @@ jenkins.queue.timeout=Jenkins构建队列超时等待时间超过{0}秒
jenkins.build.timeout=Jenkins构建超时job={0}, buildNumber={1}, 超时时间{2}分钟 jenkins.build.timeout=Jenkins构建超时job={0}, buildNumber={1}, 超时时间{2}分钟
jenkins.api.error=Jenkins API调用失败HTTP {0}, {1} jenkins.api.error=Jenkins API调用失败HTTP {0}, {1}
jenkins.response.parse.error=Jenkins响应解析失败{0} jenkins.response.parse.error=Jenkins响应解析失败{0}
jenkins.build.cancelled.in.queue=Jenkins构建在队列中被取消