Skip to content

[Plugin] Add Filaletter plugin #295

[Plugin] Add Filaletter plugin

[Plugin] Add Filaletter plugin #295

name: check-pr-maintainer-access
on:
pull_request_target:
types:
- opened
permissions:
pull-requests: write
jobs:
notify-when-maintainers-cannot-edit:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3
with:
script: |
const query = `
query($number: Int!) {
repository(owner: "filamentphp", name: "filamentphp.com") {
pullRequest(number: $number) {
headRepositoryOwner {
login
}
maintainerCanModify
}
}
}
`
const pullNumber = context.issue.number
const variables = { number: pullNumber }
try {
console.log(`Check #${pullNumber} for maintainer edit access...`)
const result = await github.graphql(query, variables)
console.log(JSON.stringify(result, null, 2))
const pullRequest = result.repository.pullRequest
if (pullRequest.headRepositoryOwner.login === 'filamentphp') {
console.log('PR owned by filamentphp')
return
}
if (! pullRequest.maintainerCanModify) {
console.log('PR not owned by filamentphp and does not have maintainer edits enabled')
await github.issues.createComment({
issue_number: pullNumber,
owner: 'filamentphp',
repo: 'filamentphp.com',
body: 'Thanks for submitting a PR!\n\nIn order to review and merge PRs most efficiently, we require that all PRs grant maintainer edit access before we review them. If your fork belongs to a GitHub organization, please move the repository to your personal account and try again. If you\'re already using a personal fork, you can learn how to enable maintainer access [in the GitHub documentation](https://docs.github.com/en/github/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork).'
})
await github.issues.update({
issue_number: pullNumber,
owner: 'filamentphp',
repo: context.repo.repo,
state: 'closed'
})
}
} catch(error) {
console.log(error)
}