[英]How can I get the latest pre-release release for my github repo - bash
要获得最新版本,我可以运行:
curl --silent "https://api.github.com/repos/maxisme/notifi/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/'
但我想要最新版本的 tag_name 是草稿/预发布吗?
我们可以使用以下路线获取所有版本:
https://api.github.com/repos/maxisme/notifi/releases
使用像jq这样的 Json 工具,我们可以轻松过滤所有 object 以仅显示 prerelease prerelease: true
的那些,然后,像这样提取最新版本的tag_name
:
jq -r 'map(select(.prerelease)) | first | .tag_name'
在哪里:
JqPlay 演示
select(.prerelease)
过滤到 prerelease prerelease: true
的项目first
获得版本数组中的第一个 object.tag_name
显示tag_name
键的值将此组合到 bash 单线:
jq -r 'map(select(.prerelease)) | first | .tag_name' <<< $(curl --silent https://api.github.com/repos/maxisme/notifi/releases)
印刷:
0.9.9
如果您不确定该项目是否会有prerelease
,我们可以在jq调用中添加一个后备:
map(select(.prerelease)) | first | .tag_name // "Not found"
如果prelease
tag_name
现在将显示Not found
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.