jenkinsfile 有两种发送邮件方式,一种是用默认的 mail 插件,另一种是使用 Email Extension
. 后者的功能稍微多一点,可以提取 git 信息作为收件人。
安装
Email Extension Plugin
插件;Jenkinsfile post 部分配置
1
2
3
4
5
6
7
8
9
10
11
12
13post {
failure
emailext(
subject: "Jenkins build is ${currentBuild.result}: ${env.JOB_NAME} #${env.BUILD_NUMBER}",
mimeType: "text/html",
body: """<p>Jenkins build is ${currentBuild.result}: ${env.JOB_NAME} #${env.BUILD_NUMBER}:</p>
<p>Check console output at <a href="${env.BUILD_URL}console">${env.JOB_NAME} #${env.BUILD_NUMBER}</a></p>""",
recipientProviders: [[$class: 'CulpritsRecipientProvider'],
[$class: 'DevelopersRecipientProvider'],
[$class: 'RequesterRecipientProvider']]
)
}
}如果使用 mail 的方式, post 部分编写如下
1
2
3
4
5post {
failure {
mail bcc: '', body: "<br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br> URL de build: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "ERROR CI: Project name -> ${env.JOB_NAME}", to: "admin@gmail.com"
}
}
环境变量
总结下可以使用的变量
${env.JOB_NAME}
: job 的名字${env.BUILD_NUMBER}
: job 构建号${env.BUILD_URL}
: job 构建 url${env.BUILD_URL}console
: job 构建控制台 url, 这里可以自己组织出很多种