10

GitHub API 能否返回存储库的版本列表以及每个版本的创建日期?

"releases" API 的行为出乎意料,例如 Rails 的 0 个版本:

>> curl https://api.github.com/repos/rails/rails/releases
[

]

此外,有没有办法知道一个版本是 alpha、beta 还是稳定版本?

4

4 回答 4

12

我认为您不能专门进行发布。但是你可以得到标签。

curl https://api.github.com/repos/rails/rails/tags

来源:http: //developer.github.com/v3/repos/#list-tags

编辑:

他们今天发布了发布 API。

http://developer.github.com/v3/repos/releases/

于 2013-08-22T19:25:49.487 回答
7

这个问题很老,但是谷歌仍然把我带到这里,答案已经过时了。因此,对于发现自己在这里的任何其他人:

GitHub 已经添加了一个发布端点:https ://docs.github.com/en/rest/reference/releases

获得一个示例(通过curl):

curl https://api.github.com/repos/rails/rails/releases
于 2020-02-24T16:59:29.353 回答
0

/releases存储库没有端点(还没有?)。模糊地得到类似的东西的唯一方法是使用列表标签的@kristenmills 答案。这就是当前在 GitHub 网站上生成发布的方式,这正是您可以确定发布的内容的方式。

于 2013-08-23T13:34:08.647 回答
0

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 或公共网站。相反,它将始终指向正确的位置。

https://gitreleases.dev/

于 2021-11-13T07:45:18.787 回答