独自のジョブ失敗通知

はじめに

Jenkins では、ジョブ結果の通知には、既存のE-Mail通知機能がとても有効です。
しかし、メールで通知されたくなく、独自の通知ツールを使いたい場合には、有効なプラグインがない(見つけられていない)です。

やりたいこと

ジョブが失敗したときに、独自の通知ツールを実行させる。

いま運用中の手順

Hudson Post build task を使っています。

  1. 前処理で、Post build task が実行できるようにログを出力し、失敗検知用のファイルを作成します。
  2. ビルド処理を実行させます。
  3. 後処理で、失敗検知用のファイルを削除します。
  4. 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通知機能と同じ動きで、メールの代わりに独自通知ツールを実行させたいのですが。

終わりに

もっと良いプラグインがあるよ。 とか、この機能使えばもっと良くなる等ありましたら、教えてください。