Не удается получить browser_download_url через Github API? - PullRequest
0 голосов
/ 20 ноября 2018

Допустим, я смотрю на https://github.com/jgm/pandoc/releases:

github-pandoc

Я хочу использовать Github API для получения последней версиивыпустил zip - поэтому я пытаюсь использовать следующее, и оно работает:

$ curl --silent "https://api.github.com/repos/jgm/pandoc/releases/latest" | grep "browser_download_url" | grep zip
      "browser_download_url": "https://github.com/jgm/pandoc/releases/download/2.4/pandoc-2.4-macOS.zip"
      "browser_download_url": "https://github.com/jgm/pandoc/releases/download/2.4/pandoc-2.4-windows-i386.zip"
      "browser_download_url": "https://github.com/jgm/pandoc/releases/download/2.4/pandoc-2.4-windows-x86_64.zip"
$ curl --silent "https://api.github.com/repos/jgm/pandoc/releases/latest" | grep "zipball_url" 
  "zipball_url": "https://api.github.com/repos/jgm/pandoc/zipball/2.4",

Существует zipball_url, но я не хочу его использовать, потому что у него нет правильного имени файла.

Пока все хорошо.Теперь я хочу сделать то же самое для репо https://github.com/hakimel/reveal.js/releases:

github-revealjs

Онлайн, выглядит примерно так же, неЭто?Есть «Активы», есть файлы, которые можно скачать ... Но, если я попробую то же самое:

$ curl --silent "https://api.github.com/repos/hakimel/reveal.js/releases/latest" | grep "browser_download_url"
$
$ curl --silent "https://api.github.com/repos/hakimel/reveal.js/releases/latest" | grep "zipball_url"
  "zipball_url": "https://api.github.com/repos/hakimel/reveal.js/zipball/3.7.0",

... получается, browser_download_url здесь не существует ?!Зачем?На странице Github для этого проекта есть https://github.com/hakimel/reveal.js/archive/3.7.0.zip?

Это потому, что hakimel / reve.js является "Исходным кодом" .zip тегированного источника Git;и jgm / pandoc имеет browser_download_url для тех .zip, которые «загружены вручную» (то есть не получены автоматически из теговой версии исходного кода Git)?

Если да, могу ли я получить (и если да, тоКаким образом) ссылка https://github.com/hakimel/reveal.js/archive/3.7.0.zip (или какая-либо последняя официальная версия zip) напрямую из API Github, без необходимости выполнять акробатику регулярных выражений на основе последних выпусков тегов, чтобы найти действительное имя файла .zip?

Редактировать: обратите внимание, что здесь 3.7.0.zip не является окончательным именем файла, которое вы получите, если щелкнуть его в браузере - окончательное имя файла в конечном итоге будет reveal.js-3.7.0.zip!

...