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

Dan*_*ann 5 jenkins jenkins-pipeline

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

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

我阅读了Pipelines 中的 Notifications,但它没有根据上述规则进行通知。另外,在构建失败的情况下,消息正文中不包含控制台输出的一部分。

有人知道如何在声明性管道中做到这一点吗?

Phi*_*lip 4

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

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])
        }
  }
}
Run Code Online (Sandbox Code Playgroud)