Set pull request to auto merge via GraphQL API#2816
Set pull request to auto merge via GraphQL API#2816EnricoMi merged 20 commits intoPyGithub:mainfrom heitorpolidoro:heitorpolidoro/set_to_auto_merge_pr
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #2816 +/- ##
=======================================
Coverage 96.74% 96.75%
=======================================
Files 142 142
Lines 14458 14492 +34
=======================================
+ Hits 13988 14022 +34
Misses 470 470 ☔ View full report in Codecov by Sentry. |
|
resolve #2503 |
This reverts commit be4140e.
EnricoMi
left a comment
There was a problem hiding this comment.
Thanks for contributing the first GraphQL feature. This looks like a good way to get that API integrated into PyGithub.
…ted disabled auto merge Created the GraphQL class to make graphql requests easier Implemented the `PullRequest.disable_auto_merge` to disable the Pull Request auto merge
Move the GraphQL class methods query and mutation to Requester graphql_query and graphql_named_mutation, respectively and, enable_pull_request_auto_merge and disable_pull_request_auto_merge logic to PullRequest
|
@EnricoMi I created some methods in the |
|
@EnricoMi Is there any chance this PR will be added to an upcoming release? |
|
I created a temporary release using my fork https://pypi.org/project/Polidoro-PyGithub/ to use in my projects until this PR is merged. |
EnricoMi
left a comment
There was a problem hiding this comment.
LGTM! One minor doc string fix needed, I think.
Co-authored-by: Enrico Minack <github@enrico.minack.dev>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [PyGithub](https://togithub.com/pygithub/pygithub) | `==2.1.1` -> `==2.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pygithub/pygithub (PyGithub)</summary> ### [`v2.2.0`](https://togithub.com/PyGithub/PyGithub/releases/tag/v2.2.0) [Compare Source](https://togithub.com/pygithub/pygithub/compare/v2.1.1...v2.2.0) #### Breaking Changes The `github.Comparison.Comparison` instance returned by `Repository.compare` provides a `commits` property that used to return a `list[github.Commit.Commit]`, which has now been changed to `PaginatedList[github.Commit.Commit]`. This breaks user code that assumes a `list`: ```python commits = repo.compare("v0.6", "v0.7").commits no_of_commits = len(commits) # will raise a TypeError ``` This will raise a `TypeError: object of type 'PaginatedList' has no len()`, as the returned `PaginatedList` does not support the `len()` method. Use the `totalCount` property instead: ```python commits = repo.compare("v0.6", "v0.7").commits no_of_commits = commits.totalCount ``` #### New features - Add support to call GraphQL API #### Improvements - Add parent_team_id, maintainers and notification_setting for creating and updating teams. by [@​Cheshirez](https://togithub.com/Cheshirez) in [https://github.com/PyGithub/PyGithub/pull/2863](https://togithub.com/PyGithub/PyGithub/pull/2863) - Add support for issue reactions summary by [@​smuzaffar](https://togithub.com/smuzaffar) in [https://github.com/PyGithub/PyGithub/pull/2866](https://togithub.com/PyGithub/PyGithub/pull/2866) - Support for DependabotAlert APIs by [@​coopernetes](https://togithub.com/coopernetes) in [https://github.com/PyGithub/PyGithub/pull/2879](https://togithub.com/PyGithub/PyGithub/pull/2879) - Derive GraphQL URL from base_url by [@​EnricoMi](https://togithub.com/EnricoMi) in [https://github.com/PyGithub/PyGithub/pull/2880](https://togithub.com/PyGithub/PyGithub/pull/2880) - Make `Repository.compare().commits` return paginated list by [@​EnricoMi](https://togithub.com/EnricoMi) in [https://github.com/PyGithub/PyGithub/pull/2882](https://togithub.com/PyGithub/PyGithub/pull/2882) - Add missing branch protection fields by [@​treee111](https://togithub.com/treee111) in [https://github.com/PyGithub/PyGithub/pull/2873](https://togithub.com/PyGithub/PyGithub/pull/2873) - Add `include_all_branches` to `create_repo_from_template` of `AuthenticatedUser` and `Organization` by [@​janssonoskar](https://togithub.com/janssonoskar) in [https://github.com/PyGithub/PyGithub/pull/2871](https://togithub.com/PyGithub/PyGithub/pull/2871) - Add and update organisation dependabot secrets by [@​mohy01](https://togithub.com/mohy01) in [https://github.com/PyGithub/PyGithub/pull/2316](https://togithub.com/PyGithub/PyGithub/pull/2316) - Add missing params to `Organization.create_repo` by [@​tekumara](https://togithub.com/tekumara) in [https://github.com/PyGithub/PyGithub/pull/2700](https://togithub.com/PyGithub/PyGithub/pull/2700) - Update allowed values for `Repository` collaborator permissions by [@​flying-sheep](https://togithub.com/flying-sheep) in [https://github.com/PyGithub/PyGithub/pull/1996](https://togithub.com/PyGithub/PyGithub/pull/1996) - Support editing PullRequestReview by [@​ColasGael](https://togithub.com/ColasGael) in [https://github.com/PyGithub/PyGithub/pull/2851](https://togithub.com/PyGithub/PyGithub/pull/2851) - Update attributes after calling `PullRequestReview.dismiss` by [@​ColasGael](https://togithub.com/ColasGael) in [https://github.com/PyGithub/PyGithub/pull/2854](https://togithub.com/PyGithub/PyGithub/pull/2854) - Add `request_cve` on `RepositoryAdvisories` by [@​JLLeitschuh](https://togithub.com/JLLeitschuh) in [https://github.com/PyGithub/PyGithub/pull/2855](https://togithub.com/PyGithub/PyGithub/pull/2855) - Filter collaborators of a repository by permissions by [@​notmicaelfilipe](https://togithub.com/notmicaelfilipe) in [https://github.com/PyGithub/PyGithub/pull/2792](https://togithub.com/PyGithub/PyGithub/pull/2792) - Set pull request to auto merge via GraphQL API by [@​heitorpolidoro](https://togithub.com/heitorpolidoro) in [https://github.com/PyGithub/PyGithub/pull/2816](https://togithub.com/PyGithub/PyGithub/pull/2816) - Support Environment Variables and Secrets by [@​AndrewJDawes](https://togithub.com/AndrewJDawes) in [https://github.com/PyGithub/PyGithub/pull/2848](https://togithub.com/PyGithub/PyGithub/pull/2848) - Update workflow.get_runs & pullrequest.add_to_assignees function signature by [@​sd-kialo](https://togithub.com/sd-kialo) in [https://github.com/PyGithub/PyGithub/pull/2799](https://togithub.com/PyGithub/PyGithub/pull/2799) - Add `GithubObject.last_modified_datetime` to have `last_modified` as a `datetime` by [@​chouetz](https://togithub.com/chouetz) in [https://github.com/PyGithub/PyGithub/pull/2772](https://togithub.com/PyGithub/PyGithub/pull/2772) - Add support for global advisories and unify some shared logic with repository advisories by [@​crimsonknave](https://togithub.com/crimsonknave) in [https://github.com/PyGithub/PyGithub/pull/2702](https://togithub.com/PyGithub/PyGithub/pull/2702) - Add `internal` as valid Repository visibility value by [@​AndrewJDawes](https://togithub.com/AndrewJDawes) in [https://github.com/PyGithub/PyGithub/pull/2806](https://togithub.com/PyGithub/PyGithub/pull/2806) - Add support for issue comments reactions summary by [@​smuzaffar](https://togithub.com/smuzaffar) in [https://github.com/PyGithub/PyGithub/pull/2813](https://togithub.com/PyGithub/PyGithub/pull/2813) #### Bug Fixes - Add a bunch of missing urllib.parse.quote calls by [@​ExplodingCabbage](https://togithub.com/ExplodingCabbage) in [https://github.com/PyGithub/PyGithub/pull/1976](https://togithub.com/PyGithub/PyGithub/pull/1976) - Fix Variable and Secret url bugs by [@​AndrewJDawes](https://togithub.com/AndrewJDawes) in [https://github.com/PyGithub/PyGithub/pull/2835](https://togithub.com/PyGithub/PyGithub/pull/2835) #### Maintenance - Update the class name for NetrcAuth in the examples by [@​vinnybod](https://togithub.com/vinnybod) in [https://github.com/PyGithub/PyGithub/pull/2860](https://togithub.com/PyGithub/PyGithub/pull/2860) - Move build to PEP517 by [@​trim21](https://togithub.com/trim21) in [https://github.com/PyGithub/PyGithub/pull/2800](https://togithub.com/PyGithub/PyGithub/pull/2800) - Use new type assert functions in `Repository` by [@​trim21](https://togithub.com/trim21) in [https://github.com/PyGithub/PyGithub/pull/2798](https://togithub.com/PyGithub/PyGithub/pull/2798) - PyTest: Move config to pyproject.toml by [@​Borda](https://togithub.com/Borda) in [https://github.com/PyGithub/PyGithub/pull/2859](https://togithub.com/PyGithub/PyGithub/pull/2859) - codespell: ignore-words-list by [@​Borda](https://togithub.com/Borda) in [https://github.com/PyGithub/PyGithub/pull/2858](https://togithub.com/PyGithub/PyGithub/pull/2858) - Improve fix-headers.py script by [@​EnricoMi](https://togithub.com/EnricoMi) in [https://github.com/PyGithub/PyGithub/pull/2728](https://togithub.com/PyGithub/PyGithub/pull/2728) - Remove dependency on python-dateutil by [@​lazka](https://togithub.com/lazka) in [https://github.com/PyGithub/PyGithub/pull/2804](https://togithub.com/PyGithub/PyGithub/pull/2804) - CI: update precommit & apply by [@​Borda](https://togithub.com/Borda) in [https://github.com/PyGithub/PyGithub/pull/2600](https://togithub.com/PyGithub/PyGithub/pull/2600) - Docs: Fix parameter order according to Version 2.1.0 by [@​nad182](https://togithub.com/nad182) in [https://github.com/PyGithub/PyGithub/pull/2786](https://togithub.com/PyGithub/PyGithub/pull/2786) - Add missing GitHub classes to docs by [@​EnricoMi](https://togithub.com/EnricoMi) in [https://github.com/PyGithub/PyGithub/pull/2783](https://togithub.com/PyGithub/PyGithub/pull/2783) - CI: Fix mypy error by ignoring override by [@​EnricoMi](https://togithub.com/EnricoMi) in [https://github.com/PyGithub/PyGithub/pull/2779](https://togithub.com/PyGithub/PyGithub/pull/2779) **Full Changelog**: PyGithub/PyGithub@v2.1.1...v2.2.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/lettuce-financial/github-bot-signed-commit). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Parameter to
PullRequest.merge()to enable auto-merge