2016-12-06 9 views
0

This blog postは、Pipeline DSL内の失敗したジョブの通知を設定する方法を非常によく説明しています。Jenkins 2.0パイプラインを使用しているときにSCM /バージョン管理に関する通知を受け取るにはどうすればよいですか?

残念ながら、このアプローチには重大な欠点があります.JenkinsがJenkinsfileをチェックアウトできないため、SCMに到達できない場合は(電子メール)通知はありません。誰かが解決策または回避策を知っているので、Jenkinsfileをチェックアウトしているとき(またはJenkinsfile内の構文エラーの場合も)、SCMの問題のためにパイプラインジョブが失敗した場合に通知を受けますか?

答えて

0

Email-extプラグインがインストールされている場合は、パイプラインスクリプトから呼び出すことができます。

パイプラインプラグインに付属するスニペットジェネレーター($JENKINS_URL/pipeline-syntaxで利用可能)を使用できます。 プラグインを選択し、ポストビルドステップで使用したのと同じようにプラグインを設定します。

生成されたスニペットをパイプラインに配置します。あなたは、このパイプラインの構文についてbeuatyが、それは動的にインストールするプラグインを追加します(あなたが別の通知プラグインを使用するために使用される場合、それはここに表示すべきであるということですtry {..} finally {..}

emailext attachLog: true, 
    body: 'Oops', 
    recipientProviders: [[ $class: 'DevelopersRecipientProvider']], 
    subject: 'Failing tests', to: '[email protected]' 

でそれをラップする場合があります)。

また、this documentationをご覧ください。ここではいくつかの例も示しています。

This is a similar question

+0

おかげで、しかし問題は、通知を受ける方法だったSCMに到達できない場合、またはJenkinsfile内の構文エラーがある場合。 SCMが利用できない場合、Jenkinsはあなたが投稿した通知コードをチェックアウトすることができないため、通知をまったく行いませんので、この解決策はここで助けになりません。また、2番目のケースでは、Jenkinsfileに構文エラーがあり、Groovyコードがこの場合実行できないため、助けになりません。 –

+0

ああ、そうです。その後、その疑問を誤解しました。残念ながら私は知らない。あなたはたぶん電子メールを送信するだけの別のジョブを作成することができます。失敗した場合でも他のジョブの後に常に実行するように設定します。分かりませんが、上流からログを取得してメールに含めることができます – Rik

関連する問題