[macOS] Implement helper to get GitHub package download URL (#4923)

This commit is contained in:
Dibir Magomedsaygitov
2022-02-07 17:19:09 +03:00
committed by GitHub
parent 5217af8068
commit f747f0983b
4 changed files with 36 additions and 15 deletions

View File

@@ -171,3 +171,26 @@ configure_user_tccdb () {
local sqlQuery="INSERT OR IGNORE INTO access VALUES($values);"
sqlite3 "$dbPath" "$sqlQuery"
}
get_github_package_download_url() {
local REPO_OWNER=$1
local REPO_NAME=$2
local FILTER=$3
local VERSION=$4
local API_PAT=$5
local SEARCH_IN_COUNT="100"
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
json=$(curl "${authString[@]}" -s "https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/releases?per_page=${SEARCH_IN_COUNT}")
if [[ "$VERSION" == "latest" ]]; then
tagName=$(echo $json | jq -r '.[] | select(.prerelease==false).tag_name' | sort --unique --version-sort | egrep -v ".*-[a-z]" | tail -1)
else
tagName=$(echo $json | jq -r '.[] | select(.prerelease==false).tag_name' | sort --unique --version-sort | egrep -v ".*-[a-z]" | egrep "\w*${VERSION}" | tail -1)
fi
downloadUrl=$(echo $json | jq -r ".[] | select(.tag_name==\"${tagName}\").assets[].browser_download_url | select(${FILTER})" | head -n 1)
echo $downloadUrl
}