Jenkins管道emailext emailextrecipients:我还可以添加特定的个人电子邮件地址吗?

时间:2017-04-18 13:09:49

标签: jenkins jenkins-pipeline email-ext

在Jenkins管道中,我使用带有emailextrecipients的电子邮件文件如下:

emailext (
    subject: email_subject, 
    mimetype: 'text/html', 
    to: emailextrecipients([[$class: 'CulpritsRecipientProvider'],[$class: 'RequesterRecipientProvider']]), 
    body: email_body
    )

我想在使用emailextrecipients生成的列表中添加特定的电子邮件地址(例如admin@myshop.com)。我希望收件人(我或经理或管理员)始终收到电子邮件,但收件人可能是罪魁祸首或请求者,我不希望emailext向该收件人发送两封电子邮件。

有没有办法合并' admin@myshop.com'与emailextrecipients

2 个答案:

答案 0 :(得分:11)

我不知道我是怎么错过这个,但答案是在email-ext doc中。使用'to:'作为其他电子邮件地址,并使用'recipientProviders:'而不是'to:emailextrecipients'。所以有人会:

emailext (
    subject: email_subject, 
    mimetype: 'text/html', 
    to: 'admin@myshop.com',
    recipientProviders: [[$class: 'CulpritsRecipientProvider'],[$class: 'RequesterRecipientProvider']], 
    body: email_body
    )

答案 1 :(得分:3)

如果您需要为电子邮件目的地使用条件逻辑,则 Generic Ratzlaugh的答案略有不同。

def myProviders = [ [$class: 'CulpritsRecipientProvider'], [$class: 'DevelopersRecipientProvider'] ];

myProviders.add ( [$class: 'RequesterRecipientProvider'] );

emailext (
    subject: email_subject, 
    mimetype: 'text/html', 
    to: 'admin@myshop.com',
    recipientProviders: myProviders, 
    body: email_body
    )