| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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 has write access
- uses: actions/github-script@v7
- with:
- script: |
- const author = context.payload.pull_request.user.login;
- const { data } = await github.rest.repos.getCollaboratorPermissionLevel({
- owner: context.repo.owner,
- repo: context.repo.repo,
- username: author
- });
- if (['admin', 'write'].includes(data.permission)) {
- console.log(`${author} has ${data.permission} access, allowing PR`);
- return;
- }
- console.log(`${author} has ${data.permission} access, closing PR`);
- 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'
- });
|