rustdesk-api-server/.github/workflows/auto-close-issues.yml
kingmo888 f08d67ab78 .
2024-08-12 16:24:08 +08:00

38 lines
1.4 KiB
YAML

name: Auto Close Issues if Not Starred
on:
issues:
types: [opened]
jobs:
close_issue:
runs-on: ubuntu-latest
steps:
- name: Check if user has starred the repo
id: check_star
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"
STARRED=$(echo "$STARRED_RESPONSE" | jq -r '.[] | select(.login == "'$ISSUE_USER'") | .login')
echo "starred=$STARRED" >> $GITHUB_ENV
- name: Close issue if not starred
if: env.starred == '0'
run: |
ISSUE_NUMBER=$(jq -r '.issue.number' < $GITHUB_EVENT_PATH)
echo "Closing issue #$ISSUE_NUMBER"
curl -s -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER/comments \
-d '{"body":"Please star the project before submitting an issue."}'
curl -s -X PATCH -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER \
-d '{"state":"closed"}'