Gistから最新リビジョンを取得する
こんにちは、Pythonエンジニア見習いです。
Gist便利ですよね。Gistに置いておけば、curl等でコードを取得できます。
私は、わざわざリポジトリを作るまでもないようなコード片を共有したり、開発環境構築スクリプト等
を置いておくのによく使います。
今回はGistから最新リビジョンを取得する方法について書きます。
curlを叩いてGistを取得する
例えば、以下のGistからe0f8215ac6c254513bd2c016532f301ee7ca9101
で示されるリビジョンのコードを取得したい場合は
https://gist.github.com/IlIlIlIl/8d9ca8ca359dfa928a60e519c75fbd22
curl https://gist.githubusercontent.com/IlIlIlIl/8d9ca8ca359dfa928a60e519c75fbd22/raw/e0f8215ac6c254513bd2c016532f301ee7ca9101/recipe_set
と打ちます。
しかし、このままではこのGistを編集した場合それを取得できません。
最新リビションを取得する
How do I get the raw version of a gist from github?
を参考にすると、URLからリビジョンのハッシュ値を取り除けば、常に最新バージョンになるようです。
つまり、コマンドは以下のようになります。
curl https://gist.githubusercontent.com/IlIlIlIl/8d9ca8ca359dfa928a60e519c75fbd22/raw/recipe_set
ちなみに、このGistは晩御飯のレシピ集なので、以下のようなワンライナーをcron.daily等に登録しておけば、毎日晩御飯のメニュー
を決めて、Slackに投稿してくれます。
curl -sS -XPOST -d token=$SLACK_TOKEN -d channel=$SLACK_USER_NAME -d text="$(curl -sS https://gist.githubusercontent.com/IlIlIlIl/8d9ca8ca359dfa928a60e519c75fbd22/raw/recipe_set | shuf | head -1 | cut -f1 -d,)" https://slack.com/api/chat.postMessage"