Jenkins pipeline emailext emailextrecipients: Can I also add specific, individual email address?
Asked Answered
S

2

15

In Jenkins pipeline I'm using email-ext with emailextrecipients as follows:

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

And I want to add a specific email address, e.g. [email protected], to the list generated using emailextrecipients. I want that addressee (me or a manager or admin) to always get the email, but the addressee might be a culprit or requester and I don't want emailext to send two emails to that addressee.

Is there a way to merge '[email protected]' with emailextrecipients?

Sashasashay answered 18/4, 2017 at 13:9 Comment(0)
S
27

I don't know how I missed this, but the answer is in the email-ext doc. Use the to: for the additional email addresses, and use recipientProviders: instead of to: emailextrecipients:

emailext(
    subject: email_subject,
    mimetype: 'text/html',
    to: '[email protected]',
    recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']],
    body: email_body
)
Sashasashay answered 18/4, 2017 at 14:48 Comment(1)
Can you please add a link to the email-ext doc with this informationJennijennica
E
10

A slight variation to Generic Ratzlaugh's answer, in case you need to use conditional logic for email destinations:

def recipientProviders = [];
recipientProviders.add([$class: 'CulpritsRecipientProvider']);
recipientProviders.add([$class: 'DevelopersRecipientProvider']);
recipientProviders.add([$class: 'RequesterRecipientProvider']);

emailext(
    subject: email_subject,
    mimetype: 'text/html',
    to: '[email protected]',
    recipientProviders: recipientProviders,
    body: email_body
)
Earwitness answered 9/1, 2018 at 21:58 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.