From 38e42690259db019ee8399c00ef0d02301b6f953 Mon Sep 17 00:00:00 2001 From: kingmo888 <17401091+kingmo888@users.noreply.github.com> Date: Mon, 12 Aug 2024 16:35:17 +0800 Subject: [PATCH] . --- .github/workflows/auto-close-issues.yml | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/auto-close-issues.yml b/.github/workflows/auto-close-issues.yml index ce38962..2f48ae7 100644 --- a/.github/workflows/auto-close-issues.yml +++ b/.github/workflows/auto-close-issues.yml @@ -13,14 +13,31 @@ jobs: run: | ISSUE_USER=$(jq -r '.issue.user.login' < $GITHUB_EVENT_PATH) echo "Issue created by user: $ISSUE_USER" - STARRED_RESPONSE=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ - "https://api.github.com/repos/${{ github.repository }}/stargazers") - echo "STARRED_RESPONSE=$STARRED_RESPONSE" + PAGE=1 + STARRED="" - STARRED=$(echo "$STARRED_RESPONSE" | jq -r '.[] | select(.login == "'$ISSUE_USER'") | .login') + while [[ -z "$STARRED" ]]; do + STARRED_RESPONSE=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + "https://api.github.com/repos/${{ github.repository }}/stargazers?per_page=100&page=$PAGE") + + if [[ -z "$STARRED_RESPONSE" || "$STARRED_RESPONSE" == "[]" ]]; then + break + fi + + STARRED=$(echo "$STARRED_RESPONSE" | jq -r '.[] | select(.login == "'$ISSUE_USER'") | .login') + PAGE=$((PAGE + 1)) + done + + if [[ -z "$STARRED" ]]; then + echo "User has not starred the repo." + else + echo "User has starred the repo." + fi + echo "starred=$STARRED" >> $GITHUB_ENV + - name: Close issue if not starred if: env.starred == '0' run: |