如何为Jenkins管道获得相同的Mailer行为

时间:2017-05-29 14:33:02

标签: jenkins jenkins-pipeline

我开始使用Jenkins声明性管道。现在,我希望获得与Mailer插件的Usage 中定义的相同的电子邮件通知行为:

  
      
  1. 每次失败的构建都会触发新的电子邮件。
  2.   
  3. 在失败(或不稳定)构建之后成功构建会触发新电子邮件,表明危机已经结束。
  4.   
  5. 成功构建后的不稳定构建会触发新电子邮件,表明存在回归。
  6.   
  7. 除非配置,否则每个不稳定的构建都会触发新的电子邮件,表明回归仍然存在。
  8.   

我阅读了Notifications in Pipelines,但根据上述规则,它没有通知。另外,如果构建失败,它不包含消息体中控制台输出的一部分。

有人知道如何在声明性管道中执行此操作吗?

1 个答案:

答案 0 :(得分:3)

使用以下代码,您可以在帖子部分使用邮件程序插件。这提供了预期的行为:

pipeline {
  agent any
  stages {
      stage('test') {
        steps {
          script {
              // change to 'UNSTABLE' OR 'FAILED' to test the behaviour 
              currentBuild.result = 'SUCCESS'
          }
        }
      }
  }
  post {
        always {
          step([$class: 'Mailer',
            notifyEveryUnstableBuild: true,
            recipients: "test@test.com",
            sendToIndividuals: true])
        }
  }
}