2017-04-18 2 views
5

pipeline Jenkins J'utilise emailext avec emailextrecipients comme suit:Pipeline Jenkins emailext emailextrecipients: Puis-je également ajouter une adresse e-mail spécifique? Dans

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

Et je veux ajouter une adresse e-mail spécifique (par exemple [email protected]) à la liste générée à l'aide emailextrecipients. Je veux que ce destinataire (moi ou un gestionnaire ou administrateur) reçoive toujours l'email, mais le destinataire peut être un coupable ou un demandeur et je ne veux pas que l'emailext envoie deux email à ce destinataire.

Existe-t-il un moyen de fusionner '[email protected]' avec emailextrecipients?

Répondre

9

Je ne sais pas comment j'ai raté cela, mais la réponse est dans le document email-ext. Utilisez le 'to:' pour les adresses e-mail supplémentaires et utilisez 'recipientProviders:' au lieu de 'to: emailextrecipients'. Donc, on aurait:

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

Une légère variation de réponse générique Ratzlaugh, au cas où vous devez utiliser la logique conditionnelle pour les destinations e-mail.

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

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

emailext (
    subject: email_subject, 
    mimetype: 'text/html', 
    to: '[email protected]', 
    recipientProviders: myProviders, 
    body: email_body 
    )