web-dev-qa-db-ja.com

Jenkinsパイプラインemailext emailextrecipients:特定の個別のメールアドレスを追加することもできますか?

Jenkinsパイプラインでは、次のようにemailextrecipientsでemailextを使用しています。

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

また、emailextrecipientsを使用して生成されたリストに特定のメールアドレス(例:[email protected])を追加したいと思います。私はその受信者(私、マネージャ、または管理者)に常に電子メールを受信して​​ほしいのですが、その受信者は犯人または要求者である可能性があり、emailextがその受信者に2通の電子メールを送信することは望ましくありません。

[email protected]」をemailextrecipientsとマージする方法はありますか?

10

どうしてこれを見逃したのかわかりませんが、答えはemail-ext docにあります。追加のメールアドレスには「to:」を使用し、「to:emailextrecipients」の代わりに「recipientProviders:」を使用します。したがって、次のようになります。

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

メールの宛先に条件付きロジックを使用する必要がある場合に備えて、Generic Ratzlaugh'sの回答を少し変更します。

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
    )
6
sterdun