【Golang】GitHubのAPIでIssueのコメントを全件取ってくるスクリプト
昨日モテるシェル芸とか言って、ブログ書いてたんですけど、
実はGitHubのIssueのコメントが大量すぎて、Load more
になっちゃってて、全部の画像をダウンロードできてなかったみたいです。
それをデザイナーに指摘されて、全部取ってこようと思ってGitHubのAPI見てたら、Headerに次のページのlinkが入っているという仕様で、シェルスクリプト書くぐらいならGoで書きたいな〜と思ってGoで書きました。
GitHubのTokenを取得する
GitHubのパスワード認証だけだったらわざわざToken取得しなくてもいいんですけど、2段階認証している方はTokenの取得が必要となってきます。
https://github.com/settings/tokens にアクセスして、Tokenを取得します。
スクリプト
が便利です。
使い方
Passwordをベタ打ちしない方法は、Qiitaに書きました。 qiita.com
あと、constのrepoとかownerは自分のものに変えてください。
read -s 'TOKEN?tokenを入れてください>' go run main.go | xargs wget
上記コマンドでIssueの画像が全件ダウンロードされるはずです。 されないときは、正規表現等が怪しいと思うので、その辺りを修正してください。
まとめ
これで、デザイナーから「おい!全部じゃねえぞ」ってツッコミが飛んでこなくなりましたね。*1
めでたしめでたし。
*1:実際にはそんなツッコミは飛んできていません。