diff --git a/src/main/java/com/huawei/jenkins/cloudpipeline/CodeArtsPipelineService.java b/src/main/java/com/huawei/jenkins/cloudpipeline/CodeArtsPipelineService.java index 23a3826c0ba73f538bdda9ef73a822fb0a13d9d5..e80eb09d25f8edc28ec662e73c4679770f47bfb2 100644 --- a/src/main/java/com/huawei/jenkins/cloudpipeline/CodeArtsPipelineService.java +++ b/src/main/java/com/huawei/jenkins/cloudpipeline/CodeArtsPipelineService.java @@ -53,9 +53,14 @@ public class CodeArtsPipelineService implements Serializable { e.printStackTrace(); } } + //临时解决方案,因为域名不一样,url是对应上海一的,只在上海一返回链接,后续api会有链接返回 + if("cn-east-3".equals(customInput.getRegion())){ + String url = "https://devcloud."+customInput.getRegion()+".huaweicloud.com/cicd/project/"+customInput.getProject_id()+"/pipeline/detail/" + customInput.getPipeline_id() + "/" + response.getPipelineRunId() + "?v=1"; + listener.getLogger().println("关于具体详情,可前往:" + url + "\n查看"); + } //SMN消息通知 if(StringUtils.isNotBlank(customInput.getTopicUrn())){ - publishMessage(customInput, info, listener); + publishMessage(customInput, info, listener,response.getPipelineRunId()); } } catch (ConnectionException e) { e.printStackTrace(); @@ -102,7 +107,7 @@ public class CodeArtsPipelineService implements Serializable { - public static void publishMessage(CustomInput customInput, ShowPipelineRunDetailResponse info, TaskListener listener) { + public static void publishMessage(CustomInput customInput, ShowPipelineRunDetailResponse info, TaskListener listener,String runId) { ICredential auth = new BasicCredentials() .withAk(customInput.getAk()) .withSk(customInput.getSk()); @@ -115,11 +120,16 @@ public class CodeArtsPipelineService implements Serializable { request.withTopicUrn(customInput.getTopicUrn()); PublishMessageRequestBody body = new PublishMessageRequestBody(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String url = "https://devcloud."+customInput.getRegion()+".huaweicloud.com/cicd/project/"+customInput.getProject_id()+"/pipeline/detail/" + customInput.getPipeline_id() + "/" + runId + "?v=1"; String message = "尊敬的华为云用户,您好:\n执行CodeArts pipeline的信息:"; message+="\nname:" + info.getName(); message+="\n开始时间:" + sdf.format(new Date(Long.parseLong(String.valueOf(info.getStartTime())))); message+="\n结束时间:" + sdf.format(new Date(Long.parseLong(String.valueOf(info.getEndTime())))); message+="\n结果:" + info.getStatus(); + //临时解决方案,因为域名不一样,url是对应上海一的,只在上海一返回链接,后续api会有链接返回 + if("cn-east-3".equals(customInput.getRegion())){ + message+="\n链接:" + url; + } body.withMessage(message); request.withBody(body); try {