GitHub API 能否返回存储库的版本列表以及每个版本的创建日期?
"releases" API 的行为出乎意料,例如 Rails 的 0 个版本:
>> curl https://api.github.com/repos/rails/rails/releases
[
]
此外,有没有办法知道一个版本是 alpha、beta 还是稳定版本?
GitHub API 能否返回存储库的版本列表以及每个版本的创建日期?
"releases" API 的行为出乎意料,例如 Rails 的 0 个版本:
>> curl https://api.github.com/repos/rails/rails/releases
[
]
此外,有没有办法知道一个版本是 alpha、beta 还是稳定版本?
我认为您不能专门进行发布。但是你可以得到标签。
curl https://api.github.com/repos/rails/rails/tags
来源:http: //developer.github.com/v3/repos/#list-tags
编辑:
他们今天发布了发布 API。
这个问题很老,但是谷歌仍然把我带到这里,答案已经过时了。因此,对于发现自己在这里的任何其他人:
GitHub 已经添加了一个发布端点:https ://docs.github.com/en/rest/reference/releases
获得一个示例(通过curl
):
curl https://api.github.com/repos/rails/rails/releases
/releases
存储库没有端点(还没有?)。模糊地得到类似的东西的唯一方法是使用列表标签的@kristenmills 答案。这就是当前在 GitHub 网站上生成发布的方式,这正是您可以确定发布的内容的方式。
GitHub 上的发布可以附加资产。您可以链接到它们中的每一个,但是,您不能链接到最新版本的资产。
你有两个选择:
利用 shell 命令并通过管道传输结果以解析来自 github 的响应:示例:
curl https://api.github.com/repos/direnv/direnv/releases/latest \
| jq -r '.assets[] | select(.browser_download_url | contains("linux-amd64")) | .browser_download_url'
回复
https://github.com/direnv/direnv/releases/download/v2.28.0/direnv.linux-amd64
选项 2:使用 gitreleases.dev 之类的第 3 方服务
使用 Git Releases 链接,您可以在完成新版本时跳过使用新下载链接更新您的 README 或公共网站。相反,它将始终指向正确的位置。