簡體   English   中英

如何獲得我的 github 存儲庫的最新預發布版本 - bash

[英]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

使用像這樣的 Json 工具,我們可以輕松過濾所有 object 以僅顯示 prerelease prerelease: true的那些,然后,像這樣提取最新版本的tag_name

jq -r 'map(select(.prerelease)) | first | .tag_name'

在哪里:
JqPlay 演示

  1. select(.prerelease)過濾到 prerelease prerelease: true的項目
  2. first獲得版本數組中的第一個 object
  3. .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 ,我們可以在調用中添加一個后備:

map(select(.prerelease)) | first | .tag_name // "Not found"

如果prelease tag_name現在將顯示Not found

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM