PerlのTest(prove)結果をSlackに通知する
2016年2月21日
proveの結果をslackに通知したかったので、安易ですが以下のような感じにしてみました。
まず、以前書いたように(App::Prove::Plugin::HarrietでTest::mysqldを起動する)Harrietを使って、t/harriet/の下にutil.plを追加してみました。
my $result = ''; use Tie::STDOUT print => sub { if ( $_[0] =~ /^Result/ ) { $result .= $_[0]; } print $_[0]; }; END { # ここで、$resultをslackに送る処理 }
Tie::STDOUTで、printされたtextを拾っていくんですが、proveのResultだけが欲しかったので、とりあえず上記のような感じで。
これで、標準出力に出てきたproveの結果の中から、Resultの行だけを取得できたので、あとはSlackに送るだけですね。
まぁ、こんなのJenkinsでやれよって感じですが。