26 lines
968 B
Bash
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
|