@@ -26,8 +26,7 @@ locals {
2626 topics = concat (local. standard_topics , var. extra_topics )
2727 template = var. template == null ? [] : [var . template ]
2828 issue_labels_create = var. issue_labels_create == null ? lookup (var. defaults , " issue_labels_create" , local. issue_labels_create_computed ) : var. issue_labels_create
29- branch_protections_v0 = var. branch_protections == null ? [] : var. branch_protections
30- branch_protections_v3 = var. branch_protections_v3 == null ? local. branch_protections_v0 : var. branch_protections_v3
29+ branch_protections_v3 = var. branch_protections_v3 == null ? var. branch_protections : var. branch_protections_v3
3130
3231 issue_labels_create_computed = local. has_issues || length (var. issue_labels ) > 0
3332
@@ -39,7 +38,7 @@ locals {
3938}
4039
4140locals {
42- branch_protections = [
41+ branch_protections = try ( [
4342 for b in local . branch_protections_v3 : merge ({
4443 branch = null
4544 enforce_admins = null
@@ -48,7 +47,7 @@ locals {
4847 required_pull_request_reviews = {}
4948 restrictions = {}
5049 }, b )
51- ]
50+ ], [])
5251
5352 required_status_checks = [
5453 for b in local . branch_protections :
@@ -188,7 +187,7 @@ resource "github_branch_protection_v3" "branch_protection" {
188187 content {
189188 dismiss_stale_reviews = required_pull_request_reviews. value . dismiss_stale_reviews
190189 dismissal_users = required_pull_request_reviews. value . dismissal_users
191- dismissal_teams = required_pull_request_reviews. value . dismissal_teams
190+ dismissal_teams = [ for t in required_pull_request_reviews . value . dismissal_teams : replace ( lower (t), " /[^a-z0-9]/ " , " - " )]
192191 require_code_owner_reviews = required_pull_request_reviews. value . require_code_owner_reviews
193192 required_approving_review_count = required_pull_request_reviews. value . required_approving_review_count
194193 }
@@ -199,8 +198,7 @@ resource "github_branch_protection_v3" "branch_protection" {
199198
200199 content {
201200 users = restrictions. value . users
202- # TODO: try to convert teams to team-slug array
203- teams = restrictions. value . teams
201+ teams = [for t in restrictions . value . teams : replace (lower (t), " /[^a-z0-9]/" , " -" )]
204202 apps = restrictions. value . apps
205203 }
206204 }
0 commit comments