Skip to content

[6.x] retrieve the model to allow deletion to fire model events #33

[6.x] retrieve the model to allow deletion to fire model events

[6.x] retrieve the model to allow deletion to fire model events #33

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: "joelbutcher", name: "socialstream") {
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 === 'joelbutcher') {
console.log('PR owned by joelbutcher')
return
}
if (! pullRequest.maintainerCanModify) {
console.log('PR not owned by joelbutcher and does not have maintainer edits enabled')
await github.issues.createComment({
issue_number: pullNumber,
owner: 'joelbutcher',
repo: 'socialstream',
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: 'joelbutcher',
repo: context.repo.repo,
state: 'closed'
})
}
} catch(error) {
console.log(error)
}