[Schema Inaccuracy] Branch rule parameters `require_extra_approval_for_unattributed_changes`, `ignore_approvals_from_contributors` and `actor_controlled_merging` are missing
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- openapi
- Domain
- api, backend-api-design
Research direction
Start with the repository-rule-pull-request and repository-rule-merge-queue schemas in api.github.com.2022-11-28.json, then compare their counterparts in the 2026-03-10 description. Verify the parameters against the shown gh api response and jq property lists; done means all three boolean fields are represented in both descriptions.
Written by the indexing model from the issue text.
Description
Schema Inaccuracy
Branch rules and rulesets return rule parameters that the description doesn't list. The pull_request rule carries require_extra_approval_for_unattributed_changes and ignore_approvals_from_contributors, and the merge_queue rule carries actor_controlled_merging. None of the three is in repository-rule-pull-request or repository-rule-merge-queue in the 2022-11-28 or 2026-03-10 description on main (c6721f32). ignore_approvals_from_contributors only appears in the webhooks_rule schema for branch protection webhooks.
These schemas back GET /repos/{owner}/{repo}/rules/branches/{branch} and the repo and org ruleset endpoints, so clients generated from the description drop the three fields, and decoders that reject unknown fields fail on real responses.
Expected
repository-rule-pull-request.parameters lists require_extra_approval_for_unattributed_changes and ignore_approvals_from_contributors, and repository-rule-merge-queue.parameters lists actor_controlled_merging. All three come back as booleans.
Reproduction Steps
$ gh api -H "X-GitHub-Api-Version: 2022-11-28" repos/github/docs/rules/branches/main --jq '.[] | select(.type=="pull_request" or .type=="merge_queue") | {type, parameters}'
{"parameters":{"allowed_merge_methods":["merge","squash","rebase"],"dismiss_stale_reviews_on_push":true,"dismissal_restriction":{"allowed_actors":[],"enabled":false},"ignore_approvals_from_contributors":false,"require_code_owner_review":true,"require_extra_approval_for_unattributed_changes":true,"require_last_push_approval":false,"required_approving_review_count":1,"required_review_thread_resolution":false,"required_reviewers":[]},"type":"pull_request"}
{"parameters":{"actor_controlled_merging":false,"check_response_timeout_minutes":60,"grouping_strategy":"ALLGREEN","max_entries_to_build":2,"max_entries_to_merge":1,"merge_method":"SQUASH","min_entries_to_merge":1,"min_entries_to_merge_wait_minutes":5},"type":"merge_queue"}
$ jq -c '.components.schemas["repository-rule-pull-request"].properties.parameters.properties | keys' api.github.com.2022-11-28.json
["allowed_merge_methods","dismiss_stale_reviews_on_push","dismissal_restriction","require_code_owner_review","require_last_push_approval","required_approving_review_count","required_review_thread_resolution","required_reviewers"]
$ jq -c '.components.schemas["repository-rule-merge-queue"].properties.parameters.properties | keys' api.github.com.2022-11-28.json
["check_response_timeout_minutes","grouping_strategy","max_entries_to_build","max_entries_to_merge","merge_method","min_entries_to_merge","min_entries_to_merge_wait_minutes"]
GET /repos/{owner}/{repo}/rulesets/{ruleset_id} returns the same pull_request parameters.
- Dominant language
- No language data
- Stars
- 1.6k
- Forks
- 345
- Avg merge
- 6h
- Merged PRs (30d)
- 82
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/rest-api-description
-
feature
Difficulty 1/5 Under an hour Newbie friendliness 88/100
github/rest-api-description#7266 · 1 comment ·
Maintainers usually reply within 1 day
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
github/rest-api-description#7220 ·
Maintainers usually reply within 1 day
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
github/rest-api-description#7201 ·
Maintainers usually reply within 1 day
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/rest-api-description#7163 ·
Maintainers usually reply within 1 day
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/rest-api-description#7162 ·
Maintainers usually reply within 1 day
All issues in github/rest-api-description
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
john-kurkowski/tldextract#382 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
CircuitVerse/CircuitVerse#7967 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
CopilotKit/aimock#491 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
deepset-ai/haystack#13092 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
dani-garcia/vaultwarden#7801 ·
Maintainers usually reply within 1 day