You've already forked helm-gitea
All checks were successful
Run Helm tests / Execute helm lint (push) Successful in 8s
Run Helm tests / Execute helm template (push) Successful in 18s
Run Helm tests / Execute helm unittest (push) Successful in 26s
Markdown linter / Execute npm run readme:lint (push) Successful in 7s
Markdown linter / Execute npm run readme:parameters (push) Successful in 8s
Markdown linter / Execute npm run readme:link (push) Successful in 36s
Update changelog / changelog (push) Successful in 10s
87 lines
2.8 KiB
Bash
Executable File
87 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
DEFAULT_GITEA_SERVER_URL="${GITHUB_SERVER_URL:-"https://gitea.com"}"
|
|
DEFAULT_GITEA_REPOSITORY="${GITHUB_REPOSITORY:-"gitea/helm-gitea"}"
|
|
DEFAULT_GITEA_TOKEN="${ISSUE_RW_TOKEN:-""}"
|
|
|
|
if [ -z "${1}" ]; then
|
|
read -p "Enter hostname of the Gitea instance [${DEFAULT_GITEA_SERVER_URL}]: " CURRENT_GITEA_SERVER_URL
|
|
if [ -z "${CURRENT_GITEA_SERVER_URL}" ]; then
|
|
CURRENT_GITEA_SERVER_URL="${DEFAULT_GITEA_SERVER_URL}"
|
|
fi
|
|
else
|
|
CURRENT_GITEA_SERVER_URL=$1
|
|
fi
|
|
|
|
if [ -z "${2}" ]; then
|
|
read -p "Enter name of the git repository [${DEFAULT_GITEA_REPOSITORY}]: " CURRENT_GITEA_REPOSITORY
|
|
if [ -z "${CURRENT_GITEA_REPOSITORY}" ]; then
|
|
CURRENT_GITEA_REPOSITORY="${DEFAULT_GITEA_REPOSITORY}"
|
|
fi
|
|
else
|
|
CURRENT_GITEA_REPOSITORY=$2
|
|
fi
|
|
|
|
if [ -z "${3}" ]; then
|
|
read -p "Enter token to access the Gitea instance [${DEFAULT_GITEA_TOKEN}]: " CURRENT_GITEA_TOKEN
|
|
if [ -z "${CURRENT_GITEA_TOKEN}" ]; then
|
|
CURRENT_GITEA_TOKEN="${DEFAULT_GITEA_TOKEN}"
|
|
fi
|
|
else
|
|
CURRENT_GITEA_TOKEN=$3
|
|
fi
|
|
|
|
if ! git sv rn -o /tmp/changelog.md; then
|
|
echo "ERROR: Failed to generate /tmp/changelog.md" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
CURL_ARGS=(
|
|
"--data-urlencode" "q=Changelog for upcoming version"
|
|
# "--data-urlencode=\"q=Changelog for upcoming version\""
|
|
"--data-urlencode" "state=open"
|
|
"--fail"
|
|
"--header" "Accept: application/json"
|
|
"--header" "Authorization: token ${CURRENT_GITEA_TOKEN}"
|
|
"--request" "GET"
|
|
"--silent"
|
|
)
|
|
|
|
if ! ISSUE_NUMBER="$(curl "${CURL_ARGS[@]}" "${CURRENT_GITEA_SERVER_URL}/api/v1/repos/${CURRENT_GITEA_REPOSITORY}/issues" | jq '.[].number')"; then
|
|
echo "ERROR: Failed query issue number" 1>&2
|
|
exit 1
|
|
fi
|
|
export ISSUE_NUMBER
|
|
|
|
if ! echo "" | jq --raw-input --slurp --arg title "Changelog for upcoming version" --arg body "$(cat /tmp/changelog.md)" '{title: $title, body: $body}' 1> /tmp/payload.json; then
|
|
echo "ERROR: Failed to create JSON payload file" 1>&2
|
|
exit 1
|
|
fi
|
|
|
|
CURL_ARGS=(
|
|
"--data" "@/tmp/payload.json"
|
|
"--fail"
|
|
"--header" "Authorization: token ${CURRENT_GITEA_TOKEN}"
|
|
"--header" "Content-Type: application/json"
|
|
"--location"
|
|
"--silent"
|
|
"--output" "/dev/null"
|
|
)
|
|
|
|
if [ -z "${ISSUE_NUMBER}" ]; then
|
|
if ! curl "${CURL_ARGS[@]}" --request POST "${CURRENT_GITEA_SERVER_URL}/api/v1/repos/${CURRENT_GITEA_REPOSITORY}/issues"; then
|
|
echo "ERROR: Failed to create new issue!" 1>&2
|
|
exit 1
|
|
else
|
|
echo "INFO: Successfully created new issue!"
|
|
fi
|
|
else
|
|
if ! curl "${CURL_ARGS[@]}" --request PATCH "${CURRENT_GITEA_SERVER_URL}/api/v1/repos/${CURRENT_GITEA_REPOSITORY}/issues/${ISSUE_NUMBER}"; then
|
|
echo "ERROR: Failed to update issue with ID ${ISSUE_NUMBER}!" 1>&2
|
|
exit 1
|
|
else
|
|
echo "INFO: Successfully updated existing issue with ID ${ISSUE_NUMBER}!"
|
|
echo "INFO: ${CURRENT_GITEA_SERVER_URL}/${CURRENT_GITEA_REPOSITORY}/issues/${ISSUE_NUMBER}"
|
|
fi
|
|
fi
|