starfish

backend, frontend, ios engineer

PullPandaはいいぞ

2019-06-18GitHub

本日、GitHubがPullPandaを買収したとのニュースが飛び込んできました。

https://github.blog/2019-06-17-github-acquires-pull-panda/

GitHubおじさんとしては見逃せないと思い、早速Organizationに導入してみました。

PullPanda is 何?

https://pullpanda.com/

GitHubのリリースでは以下のように紹介されています。

we’ve acquired Pull Panda to help teams create more efficient and effective code review workflows on GitHub.

直訳すると「GitHubでチームがより効率的で効果的なコードレビューワークフローを作成できるようにPull Pandaを買収しました。」とのことで、PullPandaはコードレビューのワークフローを効率的にするためのツールだと認識しています。

PullPandaは、3つの機能から構成されています。

Pull Reminders

Pullrequestが作成された、マージされたなどのタイミングでSlackに通知を送信することができるようになります。

指定の時間に、Pullrequestをチェックして、レビュー忘れなどを通知してくれる機能が特に強力です。

Pull Analytics

Pullrequestの平均マージ数、コード量など、各リポジトリの開発体制が可視化されます。

これによって、チームで上手くいっていること、上手くいっていないことを分析することが可能です。

データを元にした組織改善に一役買ってくれると考えており、今後も目が離せない機能です。

Pull Assigner

Pullrequestのreviewerを、自動的に均等に割り振る機能です。

この機能はこの人に見てほしい。といった要件もあると思うので、今回は利用しないことにしました。

導入

GitHub Marketplace からGitHubにインストールします。

その後、画面に沿って承認ボタンを押下するだけで設定は完了します。

途中、Organizationのメンバーを選択する画面が出ますが、メンバーの追加は後から可能なので、ここでは無視して「I’m gone」ボタンを押下して問題ないです。

導入後、Reminders -> Add Usersから Get shareable invite link で表示されるリンクをメンバーに共有することで、メンバー自身が自分でPullPandaへの参加をすることができます。

設定

TeamReminders

特定のリポジトリの通知を、Slackの特定のチャンネルに送信できるようになります。

曜日と時刻のスケジューラを設定して、通知する内容を選択します。

時刻は最大30分単位で設定が可能です。

Slackのチャンネルへの通知は、Pullrequestのレビューに関するものを設定することが可能です。

設定したスケジューラのタイミングで、レビューリクエストされているのに無視している場合に、Slackのチャンネルにメンション付きで通知が飛ぶようになります。

これによって、レビュー忘れを防ぐことが可能になります。

Pullrequestのタイトルやラベルに特定の設定をすることで通知の対象から外すようなことも可能です。

また、Pullrequestが作成された、マージされたなどのタイミングでリアルタイムで通知を送ることも可能です。

My DM Settings

Slackのチャンネルではなく、自分自身へのDMで通知を送信できる設定もあります。

ここでは、メンション付きのコメントやreviewer設定など、自分自身への通知に関するものがリアルタイムで送信されます。

自分が作成したPullrequestがconflictを起こしていた時、CIがコケた時などの設定が可能です。

まとめ

Pullrequestをベースにした開発において、通知に気づくスピードは非常に重要です。

レビュー忘れなどを定期的に監視してくれるPullPandaは、開発において非常に強力なサポートツールと言えるでしょう。

無料で使えますので、GitHub、Slackを利用しているチームは是非利用してみてください。