Jenkinsfile 邮箱配置

jenkinsfile 有两种发送邮件方式,一种是用默认的 mail 插件,另一种是使用 Email Extension. 后者的功能稍微多一点,可以提取 git 信息作为收件人。

  1. 安装 Email Extension Plugin 插件;

  2. Jenkinsfile post 部分配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    post {
    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']]
    )
    }
    }
  3. 如果使用 mail 的方式, post 部分编写如下

    1
    2
    3
    4
    5
    post {
    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, 这里可以自己组织出很多种