# REPO_NAME is optional and defaults to openwrt. It does
# describe the repository name to use to pull PR info from.
+# Script .config variables
# Github repository owner or organization name.
+# By default set to openwrt, set this line in .config to overwrite
+# the default value.
GITHUB_REPO_OWNER="openwrt"
# Your repository token, generate this token at your profile page:
# - Click on "Generate new token"
# - Enter a description, e.g. "pr.sh" and pick the "repo" scope
# - Hit "Generate token"
-#TOKEN="d41d8cd98f00b204e9800998ecf8427e"
+# Set this line in .config to provide a GITHUB_TOKEN and add comments
+#GITHUB_TOKEN="d41d8cd98f00b204e9800998ecf8427e"
#
-# Uncomment this line to use SSH key to rebase PR branch
-# USE_SSH=1
+# Set this line in .config to use SSH key to rebase PR branch
+# GITHUB_USE_SSH=1
+
+# Everything in .config will overwrite the default values set up
+[ -f .config ] && source .config
PRID="$1"
BRANCH="${2:-main}"
PR_USER="$(echo "$PR_INFO" | jq -r ".head.user.login")"
PR_BRANCH="$(echo "$PR_INFO" | jq -r ".head.ref")"
LOCAL_PR_BRANCH="$PR_BRANCH"-"$PR_USER"
-if [ "$USE_SSH" = "1" ]; then
+if [ "$GITHUB_USE_SSH" = "1" ]; then
PR_REPO="$(echo "$PR_INFO" | jq -r ".head.repo.ssh_url")"
else
PR_REPO="$(echo "$PR_INFO" | jq -r ".head.repo.html_url")"
# Default close comment
COMMENT="Thanks! Rebased on top of $BRANCH and merged!"
- if [ -n "$TOKEN" ] && [ -z "$DRY_RUN" ]; then
+ if [ -n "$GITHUB_TOKEN" ] && [ -z "$DRY_RUN" ]; then
echo ""
echo "Enter a comment and hit <enter> to close the PR at Github automatically now."
echo "Hit <ctrl>-<c> to exit."
comment="${comment//\"/\\\"}"
comment="$(printf '{"body":"%s"}' "$comment")"
- if ! curl -s -o /dev/null -w "%{http_code} %{url_effective}\\n" --user "$TOKEN:x-oauth-basic" --request POST --data "$comment" "https://api.github.com/repos/$REPO/issues/$PRID/comments" || \
- ! curl -s -o /dev/null -w "%{http_code} %{url_effective}\\n" --user "$TOKEN:x-oauth-basic" --request PATCH --data '{"state":"closed"}' "https://api.github.com/repos/$REPO/pulls/$PRID"
+ if ! curl -s -o /dev/null -w "%{http_code} %{url_effective}\\n" --user "$GITHUB_TOKEN:x-oauth-basic" --request POST --data "$comment" "https://api.github.com/repos/$REPO/issues/$PRID/comments" || \
+ ! curl -s -o /dev/null -w "%{http_code} %{url_effective}\\n" --user "$GITHUB_TOKEN:x-oauth-basic" --request PATCH --data '{"state":"closed"}' "https://api.github.com/repos/$REPO/pulls/$PRID"
then
echo "" >&2
echo "Something failed while sending comment to the PR via ">&2