fix: use /pulls instead of /pulls/pinned #4
@@ -180,20 +180,19 @@ cmd_merge() {
|
|||||||
merge_when_checks_succeed: true
|
merge_when_checks_succeed: true
|
||||||
}')
|
}')
|
||||||
|
|
||||||
RESPONSE=$(curl -s -X POST "https://git.hangman-lab.top/api/v1/repos/${OWNER}/${REPO_NAME}/pulls/${pr_index}/merge" \
|
TEMP_FILE=$(mktemp)
|
||||||
|
HTTP_CODE=$(curl -s -o "$TEMP_FILE" -w "%{http_code}" -X POST "https://git.hangman-lab.top/api/v1/repos/${OWNER}/${REPO_NAME}/pulls/${pr_index}/merge" \
|
||||||
-H 'accept: application/json' \
|
-H 'accept: application/json' \
|
||||||
-H 'Content-Type: application/json' \
|
-H 'Content-Type: application/json' \
|
||||||
-H "Authorization: token ${token}" \
|
-H "Authorization: token ${token}" \
|
||||||
-d "$json")
|
-d "$json")
|
||||||
|
|
||||||
if echo "$RESPONSE" | jq -e '.message' >/dev/null 2>&1; then
|
RESPONSE=$(cat "$TEMP_FILE")
|
||||||
ERROR_MSG=$(echo "$RESPONSE" | jq -r '.message')
|
rm -f "$TEMP_FILE"
|
||||||
echo "Error: $ERROR_MSG"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
case "$HTTP_CODE" in
|
||||||
|
200)
|
||||||
MERGED=$(echo "$RESPONSE" | jq -r '.merged')
|
MERGED=$(echo "$RESPONSE" | jq -r '.merged')
|
||||||
|
|
||||||
if [[ "$MERGED" == "true" ]]; then
|
if [[ "$MERGED" == "true" ]]; then
|
||||||
echo "Pull request merged successfully!"
|
echo "Pull request merged successfully!"
|
||||||
else
|
else
|
||||||
@@ -201,6 +200,41 @@ cmd_merge() {
|
|||||||
echo "$RESPONSE" | jq '.'
|
echo "$RESPONSE" | jq '.'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
|
409)
|
||||||
|
ERROR_MSG=$(echo "$RESPONSE" | jq -r '.message // "Conflicting changes"')
|
||||||
|
echo "Error [$HTTP_CODE]: $ERROR_MSG"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
404)
|
||||||
|
ERROR_MSG=$(echo "$RESPONSE" | jq -r '.message // "Not found"')
|
||||||
|
echo "Error [$HTTP_CODE]: $ERROR_MSG"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
423)
|
||||||
|
ERROR_MSG=$(echo "$RESPONSE" | jq -r '.message // "Repository is archived"')
|
||||||
|
echo "Error [$HTTP_CODE]: $ERROR_MSG"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
405)
|
||||||
|
ERROR_MSG=$(echo "$RESPONSE" | jq -r '.message // empty')
|
||||||
|
if [[ -n "$ERROR_MSG" && "$ERROR_MSG" != "null" ]]; then
|
||||||
|
echo "Error [$HTTP_CODE]: $ERROR_MSG"
|
||||||
|
else
|
||||||
|
echo "Error [$HTTP_CODE]: Please try again later"
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if echo "$RESPONSE" | jq -e '.message' >/dev/null 2>&1; then
|
||||||
|
ERROR_MSG=$(echo "$RESPONSE" | jq -r '.message')
|
||||||
|
echo "Error [$HTTP_CODE]: $ERROR_MSG"
|
||||||
|
else
|
||||||
|
echo "Error [$HTTP_CODE]: Unknown error"
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
|
|||||||
Reference in New Issue
Block a user