on_pull_request_synchronized.yml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. name: Pull request synchronized
  2. on:
  3. pull_request_target:
  4. types:
  5. - synchronize
  6. branches:
  7. - "master"
  8. - "releases/**"
  9. jobs:
  10. disable-automerge:
  11. runs-on: ubuntu-latest
  12. steps:
  13. - uses: actions/github-script@v7
  14. with:
  15. script: |
  16. const prQuery = `query PullRequest($owner: String!, $repo: String!, $pullRequestNumber: Int!) {
  17. repository(owner: $owner, name: $repo) {
  18. pullRequest(number: $pullRequestNumber) {
  19. id
  20. autoMergeRequest {
  21. enabledAt
  22. }
  23. }
  24. }
  25. }`;
  26. const prVariables = {
  27. owner: context.repo.owner,
  28. repo: context.repo.repo,
  29. pullRequestNumber: context.issue.number
  30. }
  31. const prResult = await github.graphql(prQuery, prVariables)
  32. if (!prResult.repository.pullRequest.autoMergeRequest) {
  33. console.log('Auto merge is not enabled')
  34. return
  35. }
  36. const automergeQuery = `mutation DisablePullRequestAutoMerge($pullRequestId: ID!) {
  37. disablePullRequestAutoMerge(input: {pullRequestId: $pullRequestId}) {
  38. pullRequest {
  39. id
  40. }
  41. }
  42. }`;
  43. const automergeVariables = {
  44. pullRequestId: prResult.repository.pullRequest.id
  45. }
  46. const result = await github.graphql(automergeQuery, automergeVariables)
  47. console.log(result)