一尘不染

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

jenkins

我开始使用Jenkins声明式管道。现在,我希望具有与Mailer插件的用法中所定义的相同的电子邮件通知行为:

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

我阅读了有关管道中的通知的信息,但它没有基于上述规则进行通知。另外,如果构建失败,它在消息正文中不包含控制台输出的一部分。

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


阅读 240

收藏
2020-07-25

共1个答案

一尘不染

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

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])
        }
  }
}
2020-07-25