GitHubのリリース機能から最新リンクを取得したかったができない
タグとかリリースとかアセット名とかわけわからん。
情報源
Draft new release
ボタンなんてない。古い。GitHubが機能を無くしやがったと思われる。
以下はただHTMLページに飛ぶだけ。ソースコードファイル一式が欲しい。
/releases/latest
以下はリンクが存在しない。Not Foundページになってしまう。
/owner/name/releases/latest/download/asset-name.zip
というかasset-name
ってなに?
実例
https://github.com/ytyaru/Python.PyPI.mypack/releases/latest
https://github.com/ytyaru/Python.PyPI.mypack/releases/latest/download/asset-name.zip https://github.com/ytyaru/Python.PyPI.mypack/releases/latest/download https://github.com/ytyaru/Python.PyPI.mypack/releases/latest/download/v0.0.1.zip https://github.com/ytyaru/Python.PyPI.mypack/releases/latest/download/v0.0.1.tar.gz
取得できない。リリースページからリンクを取得すると以下。これをlatest
にしたいのだが……。
https://github.com/ytyaru/Python.PyPI.mypack/archive/v0.0.1.zip https://github.com/ytyaru/Python.PyPI.mypack/archive/v0.0.1.tar.gz
asset-name
ってなに? 当然のごとく出てきたけど知らんがな。
HTMLから無理やり取得
WebスクレイピングしてURLを取得する方法などがある。
アセット名ってなに?
GET /repos/:owner/:repo/releases/:release_id/assets
これでアセット名を取得できそう。だが、リリースIDがわからん。
https://api.github.com/repos/ytyaru/Python.PyPI.mypack/releases/:release_id/assets
GET /repos/:owner/:repo/releases
これで取得できそうか?
https://api.github.com/repos/ytyaru/Python.PyPI.mypack/releases
ブラウザで実行したら以下のような空の配列が返ってきた。え……。
[ ]
POST /repos/:owner/:repo/releases
これで作らないとダメなの? でも実際にリリースページにできてるよ? 個数も0
から1
になってたし。どういうことだよ。わけわからん。API死んでる? なにか間違ってる?
ダウンロードリンク
トップページからclone or download
ボタンをクリックするとDownload ZIP
ボタンがある。ここから以下のリンクを取得できる。
これ、ちゃんとダウンロード数カウントされるのだろうか?
所感
結局、どうすればいいの? 面倒くさすぎ。やめた。もうPyPIでふつうにダウンロードできればそれでいいや……。無駄足。
対象環境
- Raspbierry pi 4 Model B
- Raspbian buster 10.0 2019-09-26 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux