Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

GitHub Scheduled remindersにPull Pandaからさっそく切り替えてみた

モバイルクライアントグループの若宮(id:D_R_1009)です。 先日、すやすや寝ていたところGitHubから1通のメールが届きました。

f:id:D_R_1009:20200717230443p:plain

私個人の話なのですが、AndroidとiOS、そしてFlutterのコードを書いたりレビューしたりしています。 このためFlutterのコードを書いている時にAndroidのレビュー依頼が来る状況などが発生するため、自らレビュー依頼の一覧を確認しに行くだけでは難しくなっています。 こんな状況のため、Pull Pandaの恩恵を強く感じています。 もはやPull Pandaのおかげでレビューができていると言っても過言ではありません!

DMとしてアサインやコメントがSlackのDMとして送られてくるので、Macの通知に「GitHub上で動きがあったよ!」と表示されます。 またレビュー依頼を見落としていたとしても、Slackのチャンネル上にメンションが来るため、長時間レビューを放置してしまう事件を防ぐことができています。 Androidアプリを個人的に導入してみましたが、GitHub Actionsの実行に関する通知も表示されてしまいます。 このため、少々通知がうるさく感じることもあり、Slackで完結すると大変嬉しい感じです。

そんなわけで、GitHubのScheduled Reminderに移行してみました。 結論として、移行自体はとても簡単です。 しかしいくつかのハマりどころを見つけましたので、去年の続編という形で今回ブログまとめておきたいと思います。

去年のブログはこちら。

tech.studyplus.co.jp

チャンネルの設定を移行する

まずはPull Pandaにログインしてみましょう。 右上の Sign in からGitHubのアカウント連携に進みます。

pullpanda.com

Team RemindersMy DM settings 、そして Add users が表示されていると思います。

f:id:D_R_1009:20200717232440p:plain

まずは、 Team reminders から対応しましょう。 クリックすると次のような表示になっているはずです。

f:id:D_R_1009:20200717224054p:plain

Migrate to Github をクリックすると、移行工程の半分が終了です。 ブラウザはそのままにして、Slackの通知を飛ばしているチャンネルに移動してください。

すると、チャンネルに「どのチームの下にリマインダーを移行するか」という質問が投稿されています。 ここで質問されているのは「GitHub Scheduledとして、どのアカウントの下でこのリマインダーの設定を管理するか」になります。このため、例えばAndroidチームではOrganization Accountである "Studyplus" の下にリマインダーの設定を移行しています。 おそらく、同じような設定にするとPull Pandaの設定をしていた時と同じように、社内の他チームの設定を確認できるようになると思います。

移行が済むと、次のようなコメントがSlackに書き込まれます。

f:id:D_R_1009:20200718000642p:plain

manage this reminder からリマインダー設定を更新してみてください。 UIが真新しいので戸惑うかもしれませんが、Pull Pandaで設定できる項目は全て揃っています。 なお、GitHub Scheduled RemindersにすることでDraft PRを通知の対象外にすることができるようになっています。 チームのPull Requestの運用ルールに合わせて、この機会にぜひ設定してみてください。

個人の設定(Pull PandaからのDM)を移行する

続いて My DM settings を移行します。 この移行をしないと、GitHubのチャンネル通知においてGitHubアカウント名のまま投稿されてしまうので注意してください。

移行はPull Pandaの My DM settings 上部に表示されているリンクからGitHubへ移行すれば間違い無いと思いますが、うまくいかない場合は次の手順を実行してみてください。

まず、SlackとGitHubの連携状態を次のページから確認します。

slack.github.com

こちらの Add to Slack からGitHubの連携状態を更新すると、GitHubからDMが飛んできます。 DM内容は次のような「連携したよ!」というメッセージです。

f:id:D_R_1009:20200718002430p:plain

続いて、自分の設定を確認し更新します。 次のリンクから、GitHubの個人アカウントに紐づくScheduled remindersを確認することができます。

github.com

更新したいworkspaceの設定を変更したら、忘れずに更新します。 これで、Slackのチャンネル上にSlackアカウント宛の通知が飛んでくるようになります! やった!

終わりに

Slackに「移行できるよ!」という通知には気付きつつ来ていて放置していたのですが、移行してたらサクッと完了しました。 移行ツールって大事ですね。

Slack通知は過剰になりすぎると追うのも一苦労となってしまいますが、適切に設定すればチームの開発力を底上げしてくれると思います。 Scheduled RemindersとSlackを組み合わせれば、レビュー待ちの通知をしつつ、Pull Requestに対する全てのコメントをチャンネルに流すこともできます。 逆にOpenしてから数時間たったPull RequestだけをSlackチャンネルに通知し、細かな通知はDMに集約することもできます。

code review assignment については、所属しているチームが小さいこともあり、Pull PandaもGitHubの機能も使うことがしばらくなさそうです。 もし所属されているチームで利用し「便利だ!」となりましたら、ぜひ共有していただければと思っています!