にゃるにゃる

このブログに書かれている内容は CC BY-ND 4.0 の下に提供されています。

git で特定のファイルの更新を slack とかに通知する

FreeBSD を使っていると /usr/ports/UPDATING の更新に気が付かずに (もしくは見ないで) 、 pkg upgrade など使っているパッケージのバージョンを上げると、たまに痛い目を見ることがあります。 最近では /usr/bin/perl5? の symlink が消えました。 *1

そんな人に共用なサーバのメンテは任せたくありませんが、いちいち確認するのも面倒くさいので git で特定レポジトリの特定ファイルに更新があった時に、(curl で) Slack に通知してくれるスクリプトを書きました。

freebsd-ports/UPDATING stalker

あらかじめ ${watch_prefix}/${watch_repository} に更新を監視したいファイルが入っているレポジトリgit clone しておく必要があります。
また、今回は Github にホストしているレポジトリの更新の diff を Web ブラウザとかで見たいので 通知用の文章に github.com と決め打ちで入れていますが、 他の Git ホスティングサービスに合わせて適切に変えると柔軟に使えるはずです。

これを動かすとこんな感じに通知してくれます (以下は手動で実行した例、レポジトリは全て削除済み):

f:id:owatax:20150601034337p:plain

© 2014 おわたん All Rights Reserved.