在shell脚本

时间:2018-03-29 06:26:53

标签: json bash shell github-api

我正在使用GIT API获取最新版本的特定git存储库的浏览器下载URL。

Curl command : curl -i https://api.github.com/repos/$owner/$repo/releases

它将JSON数组作为响应。

让我们说,鉴于repo有5个版本。

我想获得JSON响应中第一个元素的“browser_download_url”值。

shell脚本中可以使用的命令是什么?

1 个答案:

答案 0 :(得分:0)

首先,你不想使用-i开关,这只会弄乱json输出。

其次,如果你查看了github的api文档,你可以使用正确的url直接获得你想要的数据。发布列表中的第一项将是最新发布的版本...所以请获取最新版本。

最后,您可以使用jq向下钻取到要检索的资源并获取网址。

$ curl https://api.github.com/repos/$owner/$repo/releases/latest \
    | jq '.assets[].browser_download_url'

如果您需要特定的命名版本资产,可以使用select/1使用名称从资产数组中进行选择。