mirror of
https://github.com/jessfraz/dockerfiles.git
synced 2024-11-23 11:31:49 +01:00
add delete ref script
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
This commit is contained in:
parent
bb93b1f4d4
commit
fb420ded80
52
github-dev/cleanup-pr-branch
Executable file
52
github-dev/cleanup-pr-branch
Executable 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 "$@"
|
Loading…
Reference in New Issue
Block a user