# This workflow will close issues that do not have labels or additional comments. # Trigger manually. name: "Close Issues" on: workflow_dispatch: jobs: close_issues: runs-on: ubuntu-latest steps: - name: Close issues without label or comment uses: actions/github-script@v3 with: github-token: ${{secrets.GITHUB_TOKEN}} script: | const repo = context.repo; let page = 1; let issues = []; while (true) { const result = await github.issues.listForRepo({...repo, per_page: 100, page: page}); if (result.data.length === 0) break; issues = issues.concat(result.data); page += 1; } for (let { number } of issues) { const issueData = await github.issues.get({...repo, issue_number: number}); const comments = await github.issues.listComments({...repo, issue_number: number}); if (issueData.data.labels.length === 0 && comments.data.length < 1) { await github.issues.update({...repo, issue_number: number, state: 'closed'}); await github.issues.createComment({...repo, issue_number: number, body: 'Issue closed as it does not have any labels or comments.'}); } }