[GitHub]Watchしている全リポジトリの更新通知をSlackで楽に確認する

GitHubでWatchしているリポジトリとその更新が増えてきて、なるだけ見落としを防ぐ方法を求めた結果、この方法に行き着きました。通知内容が色々としょっぱいのは改善すべき課題だと思っています。
2020.10.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

GitHubでWatchしているリポジトリの数が増えてくると、個々の更新について把握漏れが次第に出てきます。

気がついた時に確認すればいいかもしれませんが、神懸かったアップデートが発生していた場合にそれに追従していなかったことで不利益を被るのは避けたいものです。

  • 手軽に見れて
  • 見落としが減らせて
  • できれば更新内容に含まれるダウンロード用URLに即アクセスできる

という願望を満たす方法について、若干見栄えに難はありますが満足できる状態に至れたので書いてみることにします。

Watchしているリポジトリの更新が集まる場所

気がついている方も多いと思いますが githubにログインした後表示される All activity がそれです。

とはいえ、毎回ブラウザを開いて確認するのも億劫です。

SlackでFeed登録してみる

一番下までスクロールすると、プロからのアドバイスとしての記載があります。

ProTip! The feed shows you events from people you follow and repositories you watch.

そしてProRipの下に「Subscribe to your news feed」の表示があります。このActivityはRSS Feedとして受け取れるわけです。

Slackの通知を受け取りたいチャンネルにて以下のコマンドを実行します。

/feed subscribe https://github.com/username.private.atom?token=XXXXXXXXXXXXXXXXXXXXXXX

実際の通知内容は以下のようになります。

通知内容がインデントで整形されている影響でやたら空白が混ざっていたり、HTMLタグがそのまま流れてくることもあってか可視性はよくありません。Zapier等のサービス連携で整形という手もありますが、読めなくはないのでそのままにしています。

注意点

FeedのURLにprivateの文字列が含まれている通り、これは公開された場所で使うべきURLではありません。業務でPrivateリポジトリを使っていてWatchしている場合に、そのリポジトリのコミットも流れてきます。

また、Feedの更新間隔に依存するため、頻繁な更新が随時流れてくるわけではありません。もしコラボレータ権限をもっているリポジトリであれば、github appで随時更新を受け取る方をおすすめします。

あとがき

更新頻度がそれほど多くないながらも、随時追従したい場合には丁度いいFeedだと思います。Slack上での見栄えの悪さは必要に応じて整形するとよいかもしれません。