IdobataでHubotを動かして快適OSS開発生活

これまでの本ブログの趣味とは大きく離れた内容になりそうですが、最近は社内環境を整えるべくIdobataでHubotを活用しています。Idobataについてはこちらを参考に、Hubot on Idobataについてはこの当たりの記事を参考にすると良いと思います。

今回はIdobata環境のHubotでOSS開発の効率を上げるべく色々とHubot scriptsをCoffeeScriptで書いてみたのでそれを紹介したいと思います。現在動かしているHubot scriptはレポジトリで全て公開しているので参考にして下さい。

ちなみにIdobataで動かしていHubotの名前はHiganBotと読んでおり、定期的に行動を起こすBotをHiganCron、Webhookで行動を起こすBotをHiganHookと読んでいます。では、Hubot scriptsを紹介していきます。

日本語に反応してくれるHubot Script

弊社は社員が2人しかいないので、基本的にぼっち開発が多いです。ですので、ひとりごとをつぶやいた時にそれにBotが反応してくれるとモチベーションが大きく上がり、開発効率が上昇するのでまずは一番大事なhiganworks-higanbot-talk.coffeeを紹介します。こんな風に反応してくれます。

スクリーンショット 2014-04-16 22.40.54

良い感じです。

GitHubのレポジトリの最新のコミットを教えてくれるHubot Script

続いて、気になるレポジトリのコミットが今どうなっているのかを知りたい場合等に、

[program lang=’actionscript3′ escaped=’true’]

@HiganBot commit show matsumoto-r/mod_mruby

[/program]

とすると最新のコミットの情報を教えてくれたり、

[program lang=’actionscript3′ escaped=’true’]

@HiganBot commits show matsumoto-r/mod_mruby

[/program]

とすると最新の5件を表示してくれたりします。higanworks-github-commit-check.coffee という名前です。

スクリーンショット 2014-04-16 22.46.16

良いですね。

GitHubのレポジトリの最新のtagを教えてくれるHubot Script

これは上記のcommitを教えてくれるようにtagの情報を教えてくれます。higanworks-github-tags-check.coffee という名前です。

スクリーンショット 2014-04-16 22.47.45

動作はcommitと場合とほとんど同じですね。

URLのタイトルを教えてくれるHubot Script

職業柄、URLをよく書きますがそのURL先のタイトルを表示してくれます。URLを踏む前に確認できたり後から見る時にわかりやすくて良いですね。higanworks-url-title-check.coffee とよんでいます。

スクリーンショット 2014-04-16 22.50.17

++をカウントして教えてくれるHubot Script

良い事をしたり、賛成したりする時に++ってよく使いますよね。その値をカウントして教えてくれる機能です。higanworks-plusplus.coffee とよんでいます。

スクリーンショット 2014-04-16 22.52.06

おっと、全然どうでも良い機能ばっかりじゃないかと読むのをやめないで下さい!ここから本気だします!

Travisの最新のCIを再度実行してくれるHubot Script

GitHubなどでTravisを使うようにしている場合に、そのレポジトリのTravis CIを再度実行しくれる機能です。higanworks-travis-build-restart.coffeeとよんでいます。

[program lang=’actionscript3′ escaped=’true’]

@HiganBot travis build restart matsumoto-r/mrbgem_test_ci

[/program]

こんな風に話かけると、matsumoto-r/mrbgem_test_ciのCIを再度実行してくれます。

スクリーンショット 2014-04-16 23.08.19

便利です。

GitHubのあるレポジトリの最新のcommitが変わっていたら任意のレポジトリのCIを再度実行してくれるHubot Script

これは、一つ前のTravisのCIを再度実行する機能を応用して、例えば、mruby/mrubyの最新のcommitが増えていたら、matsumoto-r/mrbgem_test_ci のCIを再度走らせる、といった使い方が可能になります。これによって、依存するレポジトリのcommitを監視し、新しくなっていたら依存関係にあるレポジトリのCIを再実行させる事ができます。higanworks-commit-check-and-release.coffeeとよんでいます。

[program lang=’actionscript3′ escaped=’true’]

@HiganBot travis release matsumoto-r/mrbgem_test_ci if commit mruby/mruby

[/program]

上記のように話しかけると自動でチェックしてくれます。これをHiganCronと呼ばれる定期的に書き込みを行うようなBotにつぶやかせれば、随時チェックが可能になります。実際、以下のようになります。

スクリーンショット 2014-04-16 23.03.24

良いですね。

GitHubやTravisの結果をIdobataに書き込み

これはIdobataの機能ですが、登録しているGitHubやTravisのレポジトリのActivityをガンガン書き出してくれるので、見落とす事もなく非常に便利です。例えばこのようになります。

スクリーンショット 2014-04-16 23.13.40

良いですね。

まとめ

というように、GitHubやTravisベースでOSSを開発するものとしては非常に快適な環境をIdobataとHubotで作り上げることができました。まだ試して少ししか時間がたっていないので、もっとこうした方が良さそうというのがあればどんどん追加しておこうと思いますので、試してみたいかたはレポジトリからダウンロードして自由に使ってみてください