Skip to content

Commit a9ca110

Browse files
authored
Scripts for closing pull requests for Hacktoberfest (#11587)
* Scripts for closing pull requests for Hacktoberfest * --limit=500 * Lose 2024
1 parent 976e385 commit a9ca110

5 files changed

+108
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
3+
# List all open pull requests
4+
prs=$(gh pr list --state open --json number,title,labels --limit 500)
5+
6+
# Loop through each pull request
7+
echo "$prs" | jq -c '.[]' | while read -r pr; do
8+
pr_number=$(echo "$pr" | jq -r '.number')
9+
pr_title=$(echo "$pr" | jq -r '.title')
10+
pr_labels=$(echo "$pr" | jq -r '.labels')
11+
12+
# Check if the "awaiting changes" label is present
13+
awaiting_changes=$(echo "$pr_labels" | jq -r '.[] | select(.name == "awaiting changes")')
14+
echo "Checking PR #$pr_number $pr_title ($awaiting_changes) ($pr_labels)"
15+
16+
# If awaiting_changes, close the pull request
17+
if [[ -n "$awaiting_changes" ]]; then
18+
echo "Closing PR #$pr_number $pr_title due to awaiting_changes label"
19+
gh pr close "$pr_number" --comment "Closing awaiting_changes PRs to prepare for Hacktoberfest"
20+
sleep 2
21+
fi
22+
done
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
3+
# List all open pull requests
4+
prs=$(gh pr list --state open --json number,title,labels --limit 500)
5+
6+
# Loop through each pull request
7+
echo "$prs" | jq -c '.[]' | while read -r pr; do
8+
pr_number=$(echo "$pr" | jq -r '.number')
9+
pr_title=$(echo "$pr" | jq -r '.title')
10+
pr_labels=$(echo "$pr" | jq -r '.labels')
11+
12+
# Check if the "tests are failing" label is present
13+
tests_are_failing=$(echo "$pr_labels" | jq -r '.[] | select(.name == "tests are failing")')
14+
echo "Checking PR #$pr_number $pr_title ($tests_are_failing) ($pr_labels)"
15+
16+
# If there are failing tests, close the pull request
17+
if [[ -n "$tests_are_failing" ]]; then
18+
echo "Closing PR #$pr_number $pr_title due to tests_are_failing label"
19+
gh pr close "$pr_number" --comment "Closing tests_are_failing PRs to prepare for Hacktoberfest"
20+
sleep 2
21+
fi
22+
done
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
3+
# List all open pull requests
4+
prs=$(gh pr list --state open --json number,title,labels --limit 500)
5+
6+
# Loop through each pull request
7+
echo "$prs" | jq -c '.[]' | while read -r pr; do
8+
pr_number=$(echo "$pr" | jq -r '.number')
9+
pr_title=$(echo "$pr" | jq -r '.title')
10+
pr_labels=$(echo "$pr" | jq -r '.labels')
11+
12+
# Check if the "require descriptive names" label is present
13+
require_descriptive_names=$(echo "$pr_labels" | jq -r '.[] | select(.name == "require descriptive names")')
14+
echo "Checking PR #$pr_number $pr_title ($require_descriptive_names) ($pr_labels)"
15+
16+
# If there are require_descriptive_names, close the pull request
17+
if [[ -n "$require_descriptive_names" ]]; then
18+
echo "Closing PR #$pr_number $pr_title due to require_descriptive_names label"
19+
gh pr close "$pr_number" --comment "Closing require_descriptive_names PRs to prepare for Hacktoberfest"
20+
fi
21+
done
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
3+
# List all open pull requests
4+
prs=$(gh pr list --state open --json number,title,labels --limit 500)
5+
6+
# Loop through each pull request
7+
echo "$prs" | jq -c '.[]' | while read -r pr; do
8+
pr_number=$(echo "$pr" | jq -r '.number')
9+
pr_title=$(echo "$pr" | jq -r '.title')
10+
pr_labels=$(echo "$pr" | jq -r '.labels')
11+
12+
# Check if the "require_tests" label is present
13+
require_tests=$(echo "$pr_labels" | jq -r '.[] | select(.name == "require tests")')
14+
echo "Checking PR #$pr_number $pr_title ($require_tests) ($pr_labels)"
15+
16+
# If there require tests, close the pull request
17+
if [[ -n "$require_tests" ]]; then
18+
echo "Closing PR #$pr_number $pr_title due to require_tests label"
19+
gh pr close "$pr_number" --comment "Closing require_tests PRs to prepare for Hacktoberfest"
20+
# sleep 2
21+
fi
22+
done
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
3+
# List all open pull requests
4+
prs=$(gh pr list --state open --json number,title,labels --limit 500)
5+
6+
# Loop through each pull request
7+
echo "$prs" | jq -c '.[]' | while read -r pr; do
8+
pr_number=$(echo "$pr" | jq -r '.number')
9+
pr_title=$(echo "$pr" | jq -r '.title')
10+
pr_labels=$(echo "$pr" | jq -r '.labels')
11+
12+
# Check if the "require type hints" label is present
13+
require_type_hints=$(echo "$pr_labels" | jq -r '.[] | select(.name == "require type hints")')
14+
echo "Checking PR #$pr_number $pr_title ($require_type_hints) ($pr_labels)"
15+
16+
# If require_type_hints, close the pull request
17+
if [[ -n "$require_type_hints" ]]; then
18+
echo "Closing PR #$pr_number $pr_title due to require_type_hints label"
19+
gh pr close "$pr_number" --comment "Closing require_type_hints PRs to prepare for Hacktoberfest"
20+
fi
21+
done

0 commit comments

Comments
 (0)