エンジニアの笹原です。笹
が好物のパンダからもじってパンくん
と呼ばれています。
皆さんはGitのリモートリポジトリとして何を使ってますか?弊社ではGitHubを使っています!
GitHubはそれ自体の使いやすさはもちろんですが、各種ツールとの連携のしやすさや自分でGitHub Appsを作ったりMarketplaceを使ったりすることでの拡張性の高さも魅力ですよね!!
先月、GitHubがPull Pandaを買収したことで、Pull Pandaが提供しているツールが無償利用できるようになりました!!
そこで、実際に導入したフローを紹介します!
概要
Pull Pandaが提供しているツールは大きく以下の3つに分けられます
- Pull Reminders
- PRの状態に応じて通知をしてくれる機能
- チームに対してSlackのchannel宛に飛ぶ通知と、個人に対してSlackのDM宛に飛ぶ通知がある
- Pull Analytics
- PRがマージされるまでの期間などを可視化してくれる機能
- Pull Assigner
- PRのレビュワーを自動的に割り振ってくれる機能
導入方法
実際にPull Reminderを導入してみましょう!
マーケットプレイスからとPull Pandaのページからのどちらからでも入れられますが、今回はPull Pandaのページから入れてみたいと思います。
Pull Reminders: Pull request reminders for Slack & GitHub
GitHub・Slackとの連携
Pull PandaのページにAdd To Slackボタンがあるのでそれを押して、まずはSlack連携をします。
Slack上で与える権限を確認してInstallボタンを押します。
次に個人アカウントのGitHub連携をします。
GitHub上で与える権限を確認してAuthorizeします。
Pull PandaのGitHub AppsをOrganizationもしくはアカウントのレポジトリに入れていきます。
連携するOrganization、アカウントを選択します。
どのレポジトリに入れるか選択します。
ここまでで、連携は一旦完了しました!!!
通知の設定
ここからは各種設定をしていきます。 チーム宛の通知と個人宛の通知をそれぞれ設定できます。
Team Remindersを押すと、チーム宛の通知をSlackのどのchannelに通知するか選択することになります。
以下のような項目を設定できます。
- 通知の日時
- 通知する条件
- レビューの状態
- リポジトリ
- PRの生存期間・変更されていない期間
- タイトルやラベルでフィルタリング
- PRが開かれたり、マージされたりと言ったイベントのフック
個人宛には、My DM Settingを押して以下のような項目を設定できます。
- イベントフックの通知
- レビューをアサインされているPRについての通知
実際の通知
実際の通知をそれぞれ見てみましょう。
チーム宛の通知は以下のような情報が指定した時間に届きます。 - OpenになっているPRのリスト - どれくらい古いのか - 誰がアサインされているか
個人宛の通知は以下のように、指定したイベントが発生したタイミングでどういうイベントが発生したか通知してくれます。
終わりに
Pull Remindersの導入方法を紹介しましたが、Pull Pandaが提供しているツールはどれも、Pull Requestベースで開発しているチームに有効なものだと感じました。
Pull Analyticsを用いて、Pull Requestの運用状況を可視化した上で、リリース頻度を上げたいとか、スキルを平準化したいと言ったチームの課題に応じて、Pull RemindersやPull Assinerの設定を変更したりすると良さそうですね!!