「prpr で GitHubのプルリクエスト運用を自動化する」というタイトルで発表してきました

こんにちは、島根県松江市在住の日高 @hidakatsuya です。趣味と言いながらサボっていたビリヤードを頑張ろうと、押入れからキュー(球を撞く棒)を出して手入れするところまではやりました。

さて、今回はイベントでの発表の報告です。

2016年9月24日に島根県松江市の松江テルサで開催された オープンソースカンファレンス 2016 Shimane にスタッフ・発表者として参加しました。

オープンソースカンファレンス Shimane は、松江での開催が今年で 9 回目だそうです。私自身、その半分以上に参加していると思いますが、今回初めてスタッフとして運営をお手伝いさせてもらいました。当日の会場の様子などは、近く公式レポートが公開されるとのことですので興味のある方は下記サイトをチェックしてみてください。

Category: OSC開催レポート

発表内容

今回の発表では prpr(ぷるぷる)というツールを紹介しました。

github.com

Misoca 開発チームでは、GitHub のプルリクエストを使って「WIP(作業中)→REVIEW(レビュー待ち)→マージ」のような流れで開発を行っています。プルリクエストの運用を続けていると、レビュー待ちにしたら Slack(チャットサービス)でレビューを依頼したり、全体のタスクを管理している Trello のカードを更新するなど、プルリクエストのステータスに応じて定型的に繰り返す作業が増えてきました。

prpr は、そういったプルリクエスト運用にまつわる定型作業を自動化するために、Misoca 開発チームの id:mzp が開発した bot です。GitHub のプルリクエストに反応します。

この prpr によって、プルリクエストの運用に伴なう繰り返し作業や定型的な作業を自動化したり、プルリクエストの機能を補完してより便利にすることができます。prpr の各機能はプラグインとして提供されていますので、運用スタイルに合わせて必要な機能を組み合わせて使うことができます。

例えば、 prpr-conflict_label はプルリクエストがコンフリクトした場合に、自動的に [CONFLICT] のような任意のラベルを追加して、コンフリクト状態を分かりやすくしてくれます。GitHub のデフォルトの表示だとちょっと分かりにくいですよね。

f:id:hidakatsuya:20161005030751p:plain

発表では、Misoca の開発フローとプルリクエスト運用を紹介し、prpr の機能(プラグイン)によってどのように運用の自動化を行なっているかを紹介しています。また、執筆時点で利用可能な prpr プラグインを全て紹介していますので、興味のある方はぜひスライドをご覧ください。

prpr を紹介しようと思った理由

私が Misoca に入社した 2015年10月の時点で、既に prpr は Misoca 開発チームの日々の活動を支えていました。Misoca に入社するまでは、GitHub やプルリクエストといえば、OSS の開発で使う程度だったので、 prpr によるプルリクエスト運用を知った時「面白いなー」とワクワクしたことを覚えています。それで、いつか勉強会などでカジュアルに発表する機会があれば、ぜひ紹介したいと思っていました。

そんな時 OSC Shimane にスタッフとして参加することになり、prpr は OSS ということもあり、ちょうど Misoca 松江拠点の紹介もしたいと思っていたため今回の発表に至りました。

もう少し詳しく知りたくなったら

prpr は非常に便利で楽しいので、興味を持った方はぜひ試していただければと思います。また、プラグインを作ることで簡単に prpr に機能を追加することもできます。そのあたり、もう少し詳しく知りたいという方は、GitHub に加えて、作者 id:mzp のブログも参考にすると良いと思います。

mzp.hatenablog.com

mzp.hatenablog.com

最後に

現在、Misoca 松江拠点始動に向けて準備を進めています。そんな Misoca 松江拠点では新しい仲間を募集しています。興味のある方は、ぜひ下記 Wantedly よりお問い合わせください!