name: Close External PRs on: pull_request_target: types: [opened] permissions: pull-requests: write issues: write jobs: check-membership: if: vars.DISABLE_EXTERNAL_PR_CHECK != 'true' runs-on: ubuntu-latest steps: - name: Check if author is org member uses: actions/github-script@v7 with: script: | const org = 'anthropics'; const author = context.payload.pull_request.user.login; try { await github.rest.orgs.checkMembershipForUser({ org: org, username: author }); console.log(`${author} is an org member, allowing PR`); } catch (e) { if (e.status === 404) { await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.payload.pull_request.number, body: `Thanks for your interest! This repo only accepts contributions from Anthropic team members. If you'd like to submit a plugin to the marketplace, please submit your plugin [here](https://docs.google.com/forms/d/e/1FAIpQLSdeFthxvjOXUjxg1i3KrOOkEPDJtn71XC-KjmQlxNP63xYydg/viewform).` }); await github.rest.pulls.update({ owner: context.repo.owner, repo: context.repo.repo, pull_number: context.payload.pull_request.number, state: 'closed' }); console.log(`Closed PR from external contributor: ${author}`); } }