由于 Jenkins 在我们推送到 GitHub 后自动构建所有项目,因此我们希望 Jenkins 在构建管道结束时发送电子邮件通知(无论构建是否成功)。
我使用以下脚本创建了一个共享库:
#!/usr/bin/env groovy
def call(String buildStatus = 'STARTED') {
// build status of null means successful
buildStatus = buildStatus ?: 'SUCCESS'
// Default values
def subject = "JENKINS-NOTIFICATION: ${buildStatus}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'"
def details = """<p>${buildStatus}: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
<p>Check console output at "<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>"</p>"""
// Send email to user who has started the build
emailext(
subject: subject,
body: details,
attachLog: true,
compressLog: true,
recipientProviders: [[$class: 'RequesterRecipientProvider'], [$class:'UpstreamComitterRecipientProvider']]
)
}
Run Code Online (Sandbox Code Playgroud)
请注意,我定义了两个recipientProviders …
git continuous-integration jenkins email-ext jenkins-email-ext