GitHub Enterprise Server のリリース情報は RSS フィードで配信されている。
https://enterprise.github.com/releases.rss
ただ、すべてのバージョンの情報を含むのでファイルサイズが大きく(2022-08-31 現在で 2.2MB)、レスポンスタイムも遅い。なので、スクリプトや Alfred Workflow から利用しづらい。
過去にいろいろ試した末に、GitHub Actions で定期的に RSS をフェッチしてコンパクトな JSON に変換してパブリックリポジトリにコミットすることにした。
JSON のファイルサイズは 100KB 以下と軽く、レスポンスタイムも十分早いので都度 curl
でフェッチしても問題ない。
- https://github.com/kyanny/github-enterprise-releases.json/blob/main/releases.json
- https://github.com/kyanny/github-enterprise-releases.json/blob/main/alfred.json
Alfred Workflow の Script Filter JSON Format 形式の JSON も作っておくことで、Alfred Workflow からは単に Script Filter で Raw URL を curl
でフェッチするだけになった。
TECH STAND #9 GitHub #tech_stand - @kyanny's blog で「GitHub Actions は開発以外の自動化用途には使えない」という利用規約上の制限を知り、これ抵触するかなと一瞬ギョッとしたが、Alfred Workflow やシェル関数という「自分が開発したソフトウェア」に必要なリソースを生成するために使っているので開発関連用途でいいだろう、ということにした。どのみち俺が一日に数回 curl するだけのトラフィックなので、誤差にすら計上されないだろう。
学び
- Script Filter JSON Format に mods というのがあって修飾キー(Cmd とか)を押したときに downstream に違う arg などを渡せるのだが、mods で subtitle は変更できるものの title は変更できないようだ。