詹金斯失败的每个构建步骤的电子邮件

时间:2017-05-23 11:05:22

标签: jenkins build jenkins-plugins email-ext jenkins-email-ext

我是Jenkins的新手,我想找到一种方法来发送每个构建步骤失败的电子邮件。

更具体地说,我有一个运行脚本的作业(作为单独的构建步骤),我想配置Jenkins在其中一个步骤失败时发送通知。

每个脚本都运行不同的测试包,QA询问我们是否可以发送单独的电子邮件,具体取决于哪个构建步骤失败。

你可以帮忙吗?

我已经在使用EMAIL-EXT插件,但它似乎没有给你提供选项。

1 个答案:

答案 0 :(得分:0)

您可以将每个构建步骤放在声明性管道阶段,因为这些可以利用post块来发送电子邮件。像这样:

pipeline {
  agent { label 'docker' }
  stages {
    stage('stage1') {
      steps {
        sh 'script1.sh'
      }
      post {
        failure {
          emailext (
            subject: "Test1", body: "Test", recipientProviders: [[$class: 'DevelopersRecipientProvider']]
          )
        }
      }
    }
    stage('stage2') {
      steps {
        sh 'script2.sh'
      }
      post {
        failure {
          emailext (
            subject: "Test2", body: "Test", recipientProviders: [[$class: 'DevelopersRecipientProvider']]
          )
        }
      }
    }
  }
}

请注意,如果第1阶段失败,上述解决方案不会运行整个管道。您还可以在脚本或声明性管道中使用try / catch。这将允许您最大的灵活性(例如,如果您确实希望整个管道运行,即使其中一个步骤失败,例如)。