name: 'Pull Request Housekeeping' on: [pull_request_target] jobs: triage: permissions: contents: read pull-requests: write runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Label PRs uses: actions/labeler@v4 with: repo-token: ${{ secrets.GITHUB_TOKEN }} auto-assign: runs-on: ubuntu-latest needs: triage steps: - name: Check if PR has 'core' label id: check_label uses: actions/github-script@v6 with: script: | const prNumber = context.payload.pull_request.number; const { data: labels } = await github.rest.issues.listLabelsOnIssue({ owner: context.repo.owner, repo: context.repo.repo, issue_number: prNumber, }); const hasCoreLabel = labels.some(label => label.name === 'core'); return hasCoreLabel; - name: Auto-assign to PR if: steps.check_label.outputs.result == 'true' uses: actions/github-script@v6 with: script: | const prNumber = context.payload.pull_request.number; await github.rest.issues.addAssignees({ owner: context.repo.owner, repo: context.repo.repo, issue_number: prNumber, assignees: ['taskylizard'], });