如何在Jenkinsfile的邮件通知正文中插入BlueOcean链接?
解决方案
你可以通过Jenkins内置环境变量拼接BlueOcean构建页面链接,再根据构建结果动态插入邮件正文。以下是修改后的Jenkinsfile代码:
always { echo "Test run completed" script { // 拼接BlueOcean构建详情页链接 def blueOceanUrl = "${JENKINS_URL}blue/organizations/jenkins/${JOB_NAME}/detail/${JOB_NAME}/${BUILD_NUMBER}/pipeline" // 生成基础邮件内容,构建失败时追加链接 def EMAIL_TEXT = "THE BUILD HAPPENED" if (currentBuild.result == 'FAILURE') { EMAIL_TEXT += """ <br><br> 构建失败,可查看BlueOcean详情: <a href="${blueOceanUrl}">点击跳转</a> """ } email_recipients = emailextrecipients(["foo@bar.com"]) emailext(body: "${EMAIL_TEXT}", mimeType: 'text/html', subject: "Build Notification: ${JOB_NAME}-Build# ${BUILD_NUMBER} ${currentBuild.result}", from: 'hello@bar.com', to: "${email_recipients}".trim() ) } }
关键改动说明:
- 拼接BlueOcean链接:用Jenkins内置的
JENKINS_URL(Jenkins实例根地址)、JOB_NAME(任务名称)、BUILD_NUMBER(构建编号)直接生成详情页地址,适配绝大多数任务结构(包括文件夹下的子任务)。 - 失败时追加链接:通过
currentBuild.result判断构建状态,仅在失败时插入HTML格式的超链接,不影响正常构建的邮件内容。 - 兼容原有配置:保留了你原本的邮件接收人、发件人等设置,仅扩展了邮件正文逻辑。
内容的提问来源于stack exchange,提问作者gp443
相关产品推荐
相关产品推荐

