Python/scripts/close_pull_requests_with_awaiting_changes.sh

23 lines
832 B
Bash
Raw Normal View History

#!/bin/bash
# List all open pull requests
prs=$(gh pr list --state open --json number,title,labels --limit 500)
# Loop through each pull request
echo "$prs" | jq -c '.[]' | while read -r pr; do
pr_number=$(echo "$pr" | jq -r '.number')
pr_title=$(echo "$pr" | jq -r '.title')
pr_labels=$(echo "$pr" | jq -r '.labels')
# Check if the "awaiting changes" label is present
awaiting_changes=$(echo "$pr_labels" | jq -r '.[] | select(.name == "awaiting changes")')
echo "Checking PR #$pr_number $pr_title ($awaiting_changes) ($pr_labels)"
# If awaiting_changes, close the pull request
if [[ -n "$awaiting_changes" ]]; then
echo "Closing PR #$pr_number $pr_title due to awaiting_changes label"
gh pr close "$pr_number" --comment "Closing awaiting_changes PRs to prepare for Hacktoberfest"
sleep 2
fi
done