如何将发布时间通知发送到Jenkins管道中的多个接收方

时间:2017-08-22 16:48:53

标签: jenkins jenkins-pipeline

我正在设置一个Jenkins管道,我想将发布后的通知发送到多个接收器。我无法找到如何设置“CC”,有人可以帮助。

我的管道示例如下:

pipeline {
    agent any
    stages {
        stage('No-op') {
            steps {
                sh 'ls'
            }
        }
    }
    post {
        failure {
        mail to: 'team@example.com',
             subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
             body: "Something is wrong with ${env.BUILD_URL}"
    }
}

}

以上示例对我来说工作正常,但我想修改以下行以向多人发送通知(最好是在CC中):

mail to: 'team@example.com',

我正在使用Jenkins ver。 2.41

5 个答案:

答案 0 :(得分:7)

我不知道您是否可以阻止它们,但要发送给多个收件人,请尝试使用以逗号分隔的列表:

mail to: 'team@example.com,blah@example.com',

答案 1 :(得分:3)

使用代码段生成器探索有关大多数步骤的更多选项。您可以CC甚至BCC喜欢:

管道命令:

mail bcc: 'foo@example.com', body: 'Test CC Pipeline', cc: 'xyz@example.com', from: '', replyTo: '', subject: 'Testing CC', to: 'abc@example.com'

答案 2 :(得分:1)

对于emailext脚本,请在cc部分中使用to,如下所示:

emailext body: 'testing',subject: 'testing', to: 'xyz@example.com,cc:abc@example.com'

参考:https://issues.jenkins-ci.org/plugins/servlet/mobile#issus/JENKINS-6703

答案 3 :(得分:0)

对于脚本化管道:

mail bcc: '', body: 'Build Report', cc: '', from: '', replyTo: '', subject: 'Build Finished', to: 'example1h@xyz.com,example2@xyz.com'

答案 4 :(得分:0)

我也遇到了'cc:'无法发送电子邮件的问题。我使用了“ to:”行并指定了多个用户。如果您有要拉入的电子邮件列表,也可以使用变量来执行此操作。例如,我声明了primaryOwnerEmail和secondaryOwners [电子邮件列表],并将它们拉到下面的“至:”行中。

stage ("Notify Developers of Success"){
    env.ForEmailPlugin = env.WORKSPACE
    emailext attachmentsPattern: 'Checkmarx\\Reports\\*.pdf',
     to: "${primaryOwnerEmail},${secondaryOwners}",
     subject: "${env.JOB_NAME} - (${env.BUILD_NUMBER}) Finished Successfuly!",
     body: "Check console output at  ${env.BUILD_URL} to view the results"
}