Repository navigation
feat: Add pull request settings to github_repository - #3479
nicolas-grekas wants to merge 2 commits into
Conversation
|
👋 Hi, and thank you for this contribution! This repo is maintained by GitHub and community members on a best-effort basis. We'll get to this as soon as we can. You can help us prioritize by joining the discussion on open issues and PRs, sharing details on the changes you need, and reviewing other contributions. 🤖 This is an automated message. |
|
@nicolas-grekas v89 just released! |
|
hi @nicolas-grekas, is there any chance you can pick this back up? |
d457d80 to
6896fe0
Compare
|
thanks for the reminder, this is now ready for review! |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The data-source schema lacks required descriptions and acceptance coverage, and the new tests use legacy state checks.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 1
Open (3)
What changed in this PR
These provider review instructions are being used. This PR adds repository-level pull request controls to the resource and exposes them through the data source.
Changes:
- Adds
has_pull_requestsandpull_request_creation_policy. - Maps the settings through GitHub API reads and writes.
- Adds resource acceptance tests and user documentation.
| File | Description |
|---|---|
github/resource_github_repository.go |
Adds schema and API mapping. |
github/resource_github_repository_test.go |
Tests resource settings and defaults. |
github/data_source_github_repository.go |
Exposes computed PR settings. |
templates/resources/repository.md.tmpl |
Documents resource arguments. |
templates/data-sources/repository.md.tmpl |
Documents data-source attributes. |
docs/resources/repository.md |
Updates generated resource docs. |
docs/data-sources/repository.md |
Updates generated data-source docs. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Any chance to make this review done? |
GitHub added two repository settings in February 2026: disabling pull requests entirely (has_pull_requests) and restricting who can open them (pull_request_creation_policy, "all" or "collaborators_only"). has_pull_requests defaults to true so existing repositories keep pull requests enabled. The creation policy is only sent when pull requests are enabled, matching how the merge-commit title/message fields are handled.
- describe the two data source attributes - cover them with a data source acceptance test - use ConfigStateChecks in the new resource tests - suppress the pull_request_creation_policy diff while pull requests are disabled, since the policy is not sent in that case - regenerate the resource docs, which now come from schema descriptions
6896fe0 to
e7e641a
Compare
|
PR rebased and updated for the Copilot review. On top of that, the |
|
@deiga any chance this can get looked at? |


Resolves #3198
Before the change?
github_repositorycould not manage the repository pull request settings GitHub shipped in February 2026: disabling pull requests entirely, and restricting who can open them.After the change?
Two new arguments on
github_repository(and read-only attributes on thegithub_repositorydata source):has_pull_requests(bool, defaults totrue): set tofalseto disable pull requests on the repository.pull_request_creation_policy(all/collaborators_only): restricts who can open pull requests.has_pull_requestsdefaults totrueso existing repositories keep pull requests enabled rather than being silently disabled on the next apply.pull_request_creation_policyis only sent when pull requests are enabled, mirroring how the existingmerge_commit_*/squash_merge_commit_*arguments are gated on their parent toggle. Its diff is ignored while pull requests are disabled, so that a value that isn't sent doesn't show up in every plan.The struct fields landed in google/go-github#4268, released in
v89.0.0, whichmainalready includes.Pull request checklist
Does this introduce a breaking change?