我正在将我的构建工件(JAR、WAR)发布到 GitHub Packages 存储库。在 Web UI 中,我可以轻松下载任何版本的软件包,访问软件包页面时默认显示的是最新版本。
如何使用 GitHub API 查找并下载最新版本的包?我已经阅读了有关 Packages API 的文档,但我所看到的只是一种列出包并获取有关特定版本的详细信息的方法。我希望有类似
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAME/latest
的东西,但似乎不存在这样的东西。
我也一直在努力解决这个问题,所以我通过使用 GitHub Packages REST API 列出包版本,然后使用 jq 从响应中的第一个元素中提取标签来解决它:
curl -s \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <github_token>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/packages/PACKAGE_TYPE/PACKAGE_NAME/versions | jq '[.[] ] | .[0] .metadata .container .tags[0]'