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でやれよって感じですが。