如何向Jenkins管道中的多个接收方发送构建后通知

brqmpdu1  于 2022-12-26  发布在  Jenkins
关注(0)|答案(6)|浏览(291)

我正在设置一个Jenkins管道,我想发送后建立通知到多个接收。我无法找到如何设置“抄送”,有人能帮助。
我的渠道示例如下:

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 2.41版

jv2fixgn

jv2fixgn1#

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

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

9udxz4iz2#

使用Snippet generator来探索关于大多数步骤的更多选项。您可以CC甚至BCC,例如:

管道命令:

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

eyh26e7m3#

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

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

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

oymdgrw7

oymdgrw74#

对于脚本化管道:

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

qnakjoqk5#

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

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"
}
hk8txs48

hk8txs486#

对于多个接收机,您可以将它们添加到to部分或cc部分下。
有关mail管道语法,请参见以下示例:

mail to: 'user1h@domain.com, user2@domain.com', cc: 'cc1@domain.com, cc2@domain.com', bcc: '', body: 'your_body_content',  from: '', replyTo: '', subject: 'your_subject_line'

对于emailext管道语法,请在to内追加cc,如下所示:

emailext to: '''user1h@domain.com, user2@domain.com, cc:cc1@domain.com, cc:cc2@domain.com''', body: 'your_body_content', from: 'sender@domain.com', subject: 'your_subject_line',

相关问题