独自のジョブ失敗通知
はじめに
Jenkins では、ジョブ結果の通知には、既存のE-Mail通知機能がとても有効です。
しかし、メールで通知されたくなく、独自の通知ツールを使いたい場合には、有効なプラグインがない(見つけられていない)です。
やりたいこと
ジョブが失敗したときに、独自の通知ツールを実行させる。
いま運用中の手順
Hudson Post build task を使っています。
- 前処理で、Post build task が実行できるようにログを出力し、失敗検知用のファイルを作成します。
- ビルド処理を実行させます。
- 後処理で、失敗検知用のファイルを削除します。
- Post build task は必ず実行され、失敗検知用のファイルが残っている場合は、通知ツールを実行させます。
ビルド処理に失敗すれば、後ジョブが実行されないため、失敗検知用のファイルが残り、通知ツールが実行されるという仕組みです。
前処理
echo "@@@@START $JOB_NAME/$BUILD_NUMBER @@@@" touch BUILDING
ビルド処理
後処理
rm BUILDING
Post build task
if [ -f BUILDING ]; then $HOME/bin/send_xmpp_server.py fi
理想は、既存のE-Mail通知機能と同じ動きで、メールの代わりに独自通知ツールを実行させたいのですが。
終わりに
もっと良いプラグインがあるよ。 とか、この機能使えばもっと良くなる等ありましたら、教えてください。