jenkins管道中的recipientProviders始终为空

时间:2017-06-12 15:20:37

标签: jenkins jenkins-pipeline email-ext

完成工作后我想发送电子邮件通知。如果填充了触发构建的用户,则至少RequesterRecipientProvider手动触发作业。我从gitlab push webhook触发,在任何recipientProviders中都没有配置电子邮件地址。

    emailext (
      mimeType: 'text/html',
      replyTo: '$DEFAULT_REPLYTO', 
      subject: subject,
      body: details,
      to: requester,
      recipientProviders: [[$class: 'CulpritsRecipientProvider'],
                         [$class: 'RequesterRecipientProvider'],
                         [$class: 'DevelopersRecipientProvider'],
                         [$class: 'FailingTestSuspectsRecipientProvider'             ], 
                         [$class: 'FirstFailingBuildSuspectsRecipientProvider']
                        ]
        )

当这些recipientProvider被填满时,有什么想法吗? email-ext从哪里获取收件人列表?

1 个答案:

答案 0 :(得分:0)

在过去的几天里,我一直在用这种方法来敲打我的头,我想我已经明白了:

它是如何工作的(对我来说):

首先-在jenkins.co/configure中检查电子邮件ext插件的所有触发器,并在默认收件人输入中填充一些电子邮件,并用一个空格分隔

第二-在管道中,将电子邮件扩展名代码片段恰好在关闭管道后放在方括号内,如下所示

post{
    always{
        script{emailext(to: '$DEFAULT_RECIPIENTS', stuff....)}}}

这样,我在构建时没有收到绑定错误,并且电子邮件从默认收件人发送到邮件列表,嵌套在post {}中的括号似乎是在上一步中检查的触发器。