add delete ref script

Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
This commit is contained in:
Jess Frazelle 2018-09-27 11:15:10 -04:00
parent bb93b1f4d4
commit fb420ded80
No known key found for this signature in database
GPG Key ID: 18F3685C0022BFF3

52
github-dev/cleanup-pr-branch Executable file
View File

@ -0,0 +1,52 @@
#!/bin/bash
set -e
set -o pipefail
if [[ ! -z "$TOKEN" ]]; then
GITHUB_TOKEN=$TOKEN
fi
if [[ -z "$GITHUB_TOKEN" ]]; then
echo "Set the GITHUB_TOKEN env variable."
exit 1
fi
if [[ -z "$GITHUB_REPOSITORY" ]]; then
echo "Set the GITHUB_REPOSITORY env variable."
exit 1
fi
URI=https://api.github.com
API_VERSION=v3
API_HEADER="Accept: application/vnd.github.${API_VERSION}+json"
AUTH_HEADER="Authorization: token ${GITHUB_TOKEN}"
main(){
action=$(cat "$GITHUB_EVENT_PATH" | jq --raw-output .action)
merged=$(cat "$GITHUB_EVENT_PATH" | jq --raw-output .pull_request.merged)
echo "action: $action merged: $merged"
if [[ "$action" == "closed" ]] && [[ "$merged" == "true" ]]; then
# delete the branch.
ref=$(cat "$GITHUB_EVENT_PATH" | jq --raw-output .pull_request.head.ref)
owner=$(cat "$GITHUB_EVENT_PATH" | jq --raw-output .pull_request.head.repo.owner.login)
repo=$(cat "$GITHUB_EVENT_PATH" | jq --raw-output .pull_request.head.repo.name)
if [[ "$ref" == "master" ]]; then
# Never delete the master branch.
echo "Will not delete master branch for ${owner}/${repo}, exiting."
exit 0
fi
echo "Deleting branch ref $ref for owner ${owner}/${repo}..."
curl -XDELETE -sSL \
-H "${AUTH_HEADER}" \
-H "${API_HEADER}" \
"/repos/${owner}/${repo}/git/refs/heads/${ref}"
echo "Branch delete success!"
fi
}
main "$@"