| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- name: New issues labeler
- on:
- issues:
- types:
- - opened
- permissions:
- issues: write
- jobs:
- new-contributor-labeler:
- name: Label issues when they are created by a first time contributor
- permissions:
- contents: read
- issues: write
- runs-on: ubuntu-latest
- steps:
- - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v7
- with:
- script: |
- console.log("Verify that the issue was created by a first time contributor");
- const labelName = "triage/pending-triage";
- const creator = context.payload.sender.login
- const owner = context.repo.owner;
- const repo = context.repo.repo;
- const contributors = await github.paginate(
- github.rest.repos.listContributors,
- { owner, repo, per_page: 100 }
- );
- let isAlreadyContributor = contributors.some(
- (c) => (c.login ?? "").toLowerCase() === creator.toLowerCase()
- );
- if (isAlreadyContributor) {
- console.log("User %s is already a contributor", creator);
- return;
- }
- console.log("Adding label %s to issue number %d", labelName, context.issue.number)
-
- await github.rest.issues.addLabels({
- issue_number: context.issue.number,
- owner: owner,
- repo: repo,
- labels: [labelName]
- })
|