diff --git a/.github/workflows/close_unlabeled_issues.yml b/.github/workflows/close_unlabeled_issues.yml new file mode 100644 index 0000000000..a5dc89a46d --- /dev/null +++ b/.github/workflows/close_unlabeled_issues.yml @@ -0,0 +1,32 @@ +name: Close Unlabeled Issues + +on: + issues: + types: [opened] + workflow_dispatch: + +jobs: + close-unlabeled-issue: + runs-on: ubuntu-latest + steps: + - name: Check for labels and close if unlabeled + uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const issue = context.payload.issue; + if (issue.labels.length === 0) { + const issueNumber = issue.number; + await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + state: 'closed' + }); + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + body: 'This issue has been automatically closed because it was created without using an issue template. Please reopen your issue using one of the following issue templates:\n\nhttps://github.com/zed-industries/zed/issues/new/choose' + }); + }