GitHubでPRを出した時に @XX さん、レビューお願いします!
とSlackで送ったり、レビューのままPRが放置されたりすること、ありませんか?
そんな時は Scheduled reminders
!!
待望のGitHubのSlack通知が公式に使えるようになった!https://t.co/gy1Hq99nKQ
— みかん三世 (@mikan_the_third) April 22, 2020
ということで、 GitHubの Scheduled reminders
という新機能について紹介したいと思います
初期設定
- organizationのOwner権限が必要です
- organizationのSettingsタブを選択します
- サイドメニューの
Scheduled reminders
を選択します - 初回はSlack連携のボタンが表示されるので選択して連携しましょう
Slackチャンネルに定期通知する
-
Add reminder
から指定のSlackチャンネルにレビュー待ちのPRなどをの定期通知の設定ができます
-
Slack channel
には#
を除いたチャンネル名を入力します -
Days
で通知させたい曜日を選択します -
Select Time(s)
で通知させたい時間(複数可能)とタイムゾーンを選択します -
Ignore drafts
を選択するDraft(下書き)状態のPRは通知されないようにできます -
Require review requests
を選択するとレビュアーに対してmention付きで通知できます- さらに、GitHubのTeamsでメンバーをチームに分けておくと
Filter by team assigned to review code
で指定のチームのメンバーに関するPRのみ通知することができます
- さらに、GitHubのTeamsでメンバーをチームに分けておくと
-
Remind authors after reviews
を選択するとレビュー済みのPRについてはPR作成者に対してmention付きで通知できます
例えば上記のようにSlackに通知されます
個人に対するSlackのDM通知を設定する
この設定は個々人で行う必要があります
- 右上の自身のアイコンのSettingsを選択します
- サイドメニューの
Scheduled reminders
を選択します - 所属するorganizationごとにSlackのDM通知を設定できます
-
Enable real-time alerts
を選択することで指定のイベントが発生したタイミングでリアルタイムにSlack通知を受け取ることができます - これにより、レビュアーにアサインされた時、PRがapproveされた時、PRにコメントされた時、mentionされた時、conflictが発生した時などにSlackのDMで通知を受け取ることができます
おまけ:レビュアーをTeamのメンバー内で自動アサインする
-
Code review assignment
という機能でレビュアーをTeamのメンバー内で自動アサインすることができます - Scheduled remindersの元になったPull Pandaから移植されているようなので合わせて紹介します
- Teamを設定しておく必要があります
- GitHubでTeamsから設定したいチームを選択し、さらにSettingsの
Code review assignment
を選択します -
Enable auto assignment
を選択することでレビュアーの自動アサインの設定ができます -
Routing algorithm
は自動アサインのアルゴリズムを選択でき、Round robin
の場合は現在レビュー中の数に関係なく交互にレビュアーがアサインされ、Load balance
の場合はレビュー中の数も含めて全メンバーが同じレビュー数になるようにアサインされます - チーム内にレビュアー以外のメンバーがいる場合などは
Never assign certain team member
で自動アサインの対象に含めないメンバーを設定することができます