GitHub からやってくる通知メールを文脈ごとに Gmail のフィルタでさばく

GitHub からメールでやってくる通知には、通知の種別によって CC: なメールアドレスが設定されている。

GitHub will Cc you if you're subscribed to a conversation. The second Cc email address matches the notification reason. The suffix for these notification reasons is @noreply.github.com.

Configuring notifications - GitHub Help

これを活用して Gmail のフィルタを組み立てることで、コンテキスト別に GitHub の通知を仕分けることができる。自分の場合は、以下のようなフィルタを設定している:

  • (cc:assign@noreply.github.com OR cc:mention@noreply.github.com OR cc:comment@noreply.github.com)
    • アサインされているか、コメントでメンションされたか、自分がコメントを書いたことがある issue/p-r
    • 自分はいろんなところからメンションされまくりはしないので、首をつっこんだやつという感じでまとめている。流量が多いなら assign とそれ以外で分けてもよさそう
  • cc:review_requested@noreply.github.com
    • 自分、もしくは自分が所属する team に対してレビューリクエストが送られた issue/p-r
  • cc:manual@noreply.github.com
    • 明示的に watch した repo/issue/p-r の更新。issue/p-r で Subscribe ボタンをクリックしたやつのアップデートとかもこれに含まれる

GitHub Enterprise Server を使っている場合も、@noreply.github.comgithub.com の部分が、その立ててるサーバーのホスト名になった状態で同じ CC がついている (mention@noreply.githubenterprise.example.com みたいな感じ)。

また、他にもリポジトリを識別するための情報なんかも埋まっているので、組み合わせるといい感じにできると思う。完全に想像だけど、大規模 OSS を追ってたりするとそういうのと組み合わせたりしてもっと細かく制御したくなるのかな〜とか思っている。

以上、勤務先のグループウェアに書いてたやつの焼き直しでした。