hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

Jenkinsから好きなフォーマットでIRCに投稿する

Jenkinsからテスト結果をIRCに投稿できるけど,フォーマットの自由度が少ない.
JenkinsのIRCプラグインは使わず,自前でApp::Ikachanなどを使って投稿すると,好きなフォーマットで投稿できて便利.
テスト結果のexit codeを取っておいて,結果を見て,成功したときと失敗したときで処理を分ける.という感じ.
こういうのをjenkins.shというスクリプトにしてこれもバージョン管理しておくとよい.

carton exec -- prove

status=$?

if [ $status -eq 0 ]
then
  curl http://ikachan/notice --max-time 5 --data channel="#blog" --data message="【朗報】 $GIT_BRANCH ブランチのテストが成功しました" --silent
else
  curl http://ikachan/privmsg --max-time 5 --data channel="#blog" --data message="【悲報】 $GIT_BRANCH ブランチのテストが失敗しました $BUILD_URL > $(git show HEAD -s --format='%an')" --silent
fi

exit $status


【朗報】とか【悲報】とか出るのがしょうもなくておもしろい.成功したらいいけど,失敗すると名指しで直せって言われる.また,手元でテスト全部実行しているわけではなくて,編集したファイルくらい通ればpushしてJenkins上で動かしたほうが速い.通ればほっとけばいいけど,失敗したら直したいので,失敗したら呼ばれるのは合理的.

11:49 ikachan04 【朗報】 origin/aaa ブランチのテストが成功しました
11:57 ikachan02 【悲報】 origin/iii ブランチのテストが失敗しました http://jenkins/job/Hatena-Blog/12199/ > hitode909