Summary
Creating the sanctioned pr-quality ruleset fails with HTTP 422 on every repo bootstrapped from petry-projects/repo-template. The pull_request rule in .github/rulesets/pr-quality.json carries a parameter the GitHub rulesets API rejects.
Error
POST repos/<owner>/<repo>/rulesets
{"message":"Validation Failed",
"errors":["Invalid rule 'pull_request': Unexpected parameter \`automatic_copilot_code_review_enabled\`"],
"status":"422"}
Root cause
.github/rulesets/pr-quality.json → the pull_request rule parameters include:
allowed_merge_methods, automatic_copilot_code_review_enabled, dismiss_stale_reviews_on_push,
require_code_owner_review, require_last_push_approval, required_approving_review_count,
required_review_thread_resolution
automatic_copilot_code_review_enabled is not accepted by the rulesets pull_request rule schema (at least on this org/plan), so the whole create is rejected.
Impact
- Every repo created via
repo-template + bootstrap-new-repo.sh silently loses PR-review gating: code-quality and release-channel-tags apply, but pr-quality (required reviews, code-owner review, dismiss-stale, last-push approval) never lands.
- First observed while bootstrapping
petry-projects/broodminder-export (2026-07-02): code-quality + release-channel-tags active, pr-quality absent.
Repro
GH_TOKEN=<classic PAT, repo+admin> bash scripts/apply-rulesets.sh --repo <owner>/<repo> pr-quality
Suggested fix
Drop (or gate behind a supported schema/plan) automatic_copilot_code_review_enabled from the pull_request rule in .github/rulesets/pr-quality.json, then re-run apply-rulesets.sh --repo <repo> pr-quality on affected repos (incl. broodminder-export). If Copilot auto-review is desired, configure it via the supported mechanism rather than the ruleset param.
Related
- Surfaced during repo-template recreation of broodminder-export.
- Separate minor bug also seen:
bootstrap-new-repo.sh check-suite substep does GET check-suites/preferences → 404 and fail-fasts (dry-run skips the line, so dry-run passes but live run aborts before rulesets/labels).
🤖 filed via Claude Code
Summary
Creating the sanctioned
pr-qualityruleset fails with HTTP 422 on every repo bootstrapped frompetry-projects/repo-template. Thepull_requestrule in.github/rulesets/pr-quality.jsoncarries a parameter the GitHub rulesets API rejects.Error
Root cause
.github/rulesets/pr-quality.json→ thepull_requestruleparametersinclude:automatic_copilot_code_review_enabledis not accepted by the rulesetspull_requestrule schema (at least on this org/plan), so the whole create is rejected.Impact
repo-template+bootstrap-new-repo.shsilently loses PR-review gating:code-qualityandrelease-channel-tagsapply, butpr-quality(required reviews, code-owner review, dismiss-stale, last-push approval) never lands.petry-projects/broodminder-export(2026-07-02):code-quality+release-channel-tagsactive,pr-qualityabsent.Repro
Suggested fix
Drop (or gate behind a supported schema/plan)
automatic_copilot_code_review_enabledfrom thepull_requestrule in.github/rulesets/pr-quality.json, then re-runapply-rulesets.sh --repo <repo> pr-qualityon affected repos (incl. broodminder-export). If Copilot auto-review is desired, configure it via the supported mechanism rather than the ruleset param.Related
bootstrap-new-repo.shcheck-suite substep doesGET check-suites/preferences→ 404 and fail-fasts (dry-run skips the line, so dry-run passes but live run aborts before rulesets/labels).🤖 filed via Claude Code