Files
2026-07-13 12:32:21 +08:00

26 lines
968 B
Bash

#!/usr/bin/env bash
echo "
Checking existing changelog PR ..."
response=$(
curl -sSL \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/${1}/pulls?state=open&base=${2}&head=${4}" \
| jq -er '.[] | select(.head.ref == "'"${4}"'") | [.html_url, .head.ref] | @tsv'
)
if [[ -z "${response:+x}" ]] ; then
echo "Not found. Creating ..."
curl -sSL \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/${1}/pulls" \
-d '{"base":"'"${2}"'", "title":"'"docs(release): generate ${3} changelog"'","body":"'"Generate ${3} changelog"'","head":"'"${4}"'"}' \
| jq -r '[.html_url, .head.ref] | @tsv'
else
printf 'Updated existing PR: %s\n' "${response}"
fi