2017-05-23 16 views
0

私はJenkinsを初めて使用しています。ビルドステップの失敗ごとに電子メールを送信する方法を探したいと思います。Jenkinsで失敗した各ビルドステップのメール

具体的には、(個別のビルドステップとして)スクリプトを実行するジョブがあり、これらの手順のいずれかが失敗した場合に通知を送信するようにJenkinsを設定したいと考えています。

すべてのスクリプトは異なるテストパックを実行し、どのビルドステップが失敗しているかによって別のメールを送信できるかどうかをQAが尋ねました。

助けてもらえますか?

私は既にEMAIL-EXTプラグインを使用していますが、それはあなたにオプションを与えるようです。

答えて

0

各ビルドステップを宣言的パイプラインステージに置くことができます。これは、postブロックを使用して電子メールを送信することができるためです。

pipeline { 
    agent { label 'docker' } 
    stages { 
    stage('stage1') { 
     steps { 
     sh 'script1.sh' 
     } 
     post { 
     failure { 
      emailext (
      subject: "Test1", body: "Test", recipientProviders: [[$class: 'DevelopersRecipientProvider']] 
     ) 
     } 
     } 
    } 
    stage('stage2') { 
     steps { 
     sh 'script2.sh' 
     } 
     post { 
     failure { 
      emailext (
      subject: "Test2", body: "Test", recipientProviders: [[$class: 'DevelopersRecipientProvider']] 
     ) 
     } 
     } 
    } 
    } 
} 

上記の解決策は、ステージ1が失敗するとパイプライン全体を実行しないことに注意してください。また、スクリプトや宣言的なパイプラインでtry/catchを使うこともできます。これにより、柔軟性を最大限に引き出すことができます(実際には、手順の1つが失敗した場合でもパイプライン全体を実行したい)。

関連する問題