Skip to content

Commit 71ae728

Browse files
feat: modify organization_admin structure (#63)
* feat: update organization_admins structure to only accept one value * feat: hardcode actor_id to 1 * refactor: update test name for organization admin * feat: update organization admin structure and name * feat: deprecate unnecessary locals and adopt new organization_admin structure * terraform-docs: automated action * refactor: address gemini comments * refactor: update to organization_admin in examples --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 1cc275f commit 71ae728

File tree

22 files changed

+60
-134
lines changed

22 files changed

+60
-134
lines changed

examples/ruleset/organization-ruleset.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ module "github_org_ruleset" {
33

44
name = "org-wide-main-pr-rules"
55
bypass_actors = {
6-
organization_admins = [
7-
{ user_id = "admin_id", always_bypass = true }
8-
]
6+
organization_admin = {
7+
always_bypass = true
8+
}
99
}
1010
rules = {
1111
branch_name_pattern = {

modules/internal_repository/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ No resources.
4747
| <a name="input_repository_team_permissions"></a> [repository\_team\_permissions](#input\_repository\_team\_permissions) | A map where the keys are github team slugs and the value is the permissions the team should have in the repository | `map(string)` | n/a | yes |
4848
| <a name="input_repository_user_permissions"></a> [repository\_user\_permissions](#input\_repository\_user\_permissions) | A map where the keys are github usernames and the value is the permissions the user should have in the repository | `map(string)` | n/a | yes |
4949
| <a name="input_requires_web_commit_signing"></a> [requires\_web\_commit\_signing](#input\_requires\_web\_commit\_signing) | If set commit signatures are required for commits to the organization. Defaults to `false`. | `bool` | `false` | no |
50-
| <a name="input_rulesets"></a> [rulesets](#input\_rulesets) | n/a | <pre>map(object({<br/> bypass_actors = optional(object({<br/> repository_roles = optional(list(object({<br/> role = string<br/> always_bypass = optional(bool)<br/> })))<br/> teams = optional(list(object({<br/> team = string<br/> always_bypass = optional(bool)<br/> })))<br/> integrations = optional(list(object({<br/> installation_id = number<br/> always_bypass = optional(bool)<br/> })))<br/> organization_admins = optional(list(object({<br/> user = string<br/> always_bypass = optional(bool)<br/> })))<br/> }))<br/> conditions = optional(object({<br/> ref_name = object({<br/> include = list(string)<br/> exclude = list(string)<br/> })<br/> }))<br/> rules = object({<br/> branch_name_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> tag_name_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> commit_author_email_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> commit_message_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> committer_email_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> creation = optional(bool)<br/> deletion = optional(bool)<br/> update = optional(bool)<br/> non_fast_forward = optional(bool)<br/> required_linear_history = optional(bool)<br/> required_signatures = optional(bool)<br/> update_allows_fetch_and_merge = optional(bool)<br/> pull_request = optional(object({<br/> dismiss_stale_reviews_on_push = optional(bool)<br/> require_code_owner_review = optional(bool)<br/> require_last_push_approval = optional(bool)<br/> required_approving_review_count = optional(number)<br/> required_review_thread_resolution = optional(bool)<br/> }))<br/> required_status_checks = optional(object({<br/> required_check = list(object({<br/> context = string<br/> integration_id = optional(number)<br/> }))<br/> strict_required_status_check_policy = optional(bool)<br/> }))<br/> required_deployment_environments = optional(list(string))<br/> })<br/> target = string<br/> enforcement = string<br/> }))</pre> | `{}` | no |
50+
| <a name="input_rulesets"></a> [rulesets](#input\_rulesets) | n/a | <pre>map(object({<br/> bypass_actors = optional(object({<br/> repository_roles = optional(list(object({<br/> role = string<br/> always_bypass = optional(bool)<br/> })))<br/> teams = optional(list(object({<br/> team = string<br/> always_bypass = optional(bool)<br/> })))<br/> integrations = optional(list(object({<br/> installation_id = number<br/> always_bypass = optional(bool)<br/> })))<br/> organization_admin = optional(object({<br/> always_bypass = optional(bool)<br/> }))<br/> }))<br/> conditions = optional(object({<br/> ref_name = object({<br/> include = list(string)<br/> exclude = list(string)<br/> })<br/> }))<br/> rules = object({<br/> branch_name_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> tag_name_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> commit_author_email_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> commit_message_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> committer_email_pattern = optional(object({<br/> operator = string<br/> pattern = string<br/> name = optional(string)<br/> negate = optional(bool)<br/> }))<br/> creation = optional(bool)<br/> deletion = optional(bool)<br/> update = optional(bool)<br/> non_fast_forward = optional(bool)<br/> required_linear_history = optional(bool)<br/> required_signatures = optional(bool)<br/> update_allows_fetch_and_merge = optional(bool)<br/> pull_request = optional(object({<br/> dismiss_stale_reviews_on_push = optional(bool)<br/> require_code_owner_review = optional(bool)<br/> require_last_push_approval = optional(bool)<br/> required_approving_review_count = optional(number)<br/> required_review_thread_resolution = optional(bool)<br/> }))<br/> required_status_checks = optional(object({<br/> required_check = list(object({<br/> context = string<br/> integration_id = optional(number)<br/> }))<br/> strict_required_status_check_policy = optional(bool)<br/> }))<br/> required_deployment_environments = optional(list(string))<br/> })<br/> target = string<br/> enforcement = string<br/> }))</pre> | `{}` | no |
5151
| <a name="input_squash_merge_commit_message"></a> [squash\_merge\_commit\_message](#input\_squash\_merge\_commit\_message) | (Optional) Can be `PR_BODY`, `COMMIT_MESSAGES`, or `BLANK` for a default squash merge commit message. Applicable only if allow\_squash\_merge is `true`. | `string` | `"PR_BODY"` | no |
5252
| <a name="input_squash_merge_commit_title"></a> [squash\_merge\_commit\_title](#input\_squash\_merge\_commit\_title) | (Optional) Can be `PR_TITLE` or `COMMIT_OR_PR_TITLE` for a default squash merge commit title. Applicable only if allow\_squash\_merge is `true`. | `string` | `"PR_TITLE"` | no |
5353
| <a name="input_template_repository"></a> [template\_repository](#input\_template\_repository) | A (Optional) list of template repositories to use for the repository | <pre>object({<br/> owner = string<br/> repository = string<br/> include_all_branches = bool<br/> })</pre> | `null` | no |

modules/internal_repository/variables.tf

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,9 @@ variable "rulesets" {
203203
installation_id = number
204204
always_bypass = optional(bool)
205205
})))
206-
organization_admins = optional(list(object({
207-
user = string
206+
organization_admin = optional(object({
208207
always_bypass = optional(bool)
209-
})))
208+
}))
210209
}))
211210
conditions = optional(object({
212211
ref_name = object({

0 commit comments

Comments
 (0)