From d72a7bdea24c57e52eec6d020d18a7e871a29801 Mon Sep 17 00:00:00 2001 From: Satyajit Sahoo Date: Sat, 28 Nov 2020 14:33:19 +0100 Subject: [PATCH] chore: add a label for first pull request --- .github/workflows/first-pull-request.yml | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/first-pull-request.yml diff --git a/.github/workflows/first-pull-request.yml b/.github/workflows/first-pull-request.yml new file mode 100644 index 00000000..f6f27260 --- /dev/null +++ b/.github/workflows/first-pull-request.yml @@ -0,0 +1,45 @@ +name: First pull request +on: pull_request + +jobs: + welcome: + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v3 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + // Get a list of all issues created by the PR opener + // See: https://octokit.github.io/rest.js/#pagination + const creator = context.payload.sender.login + const opts = github.issues.listForRepo.endpoint.merge({ + ...context.issue, + creator, + state: 'all' + }) + + const issues = await github.paginate(opts) + + for (const issue of issues) { + if (issue.number === context.issue.number) { + continue + } + + if (issue.pull_request) { + return // Creator is already a contributor. + } + } + + await github.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['first pull request'], + }); + + await github.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: "Hey ${creator}! Thanks for opening the pull request. If you haven't already, make sure to read our [contribution guidelines](https://github.com/react-navigation/react-navigation/blob/main/CONTRIBUTING.md)." + })