Skip to content

Commit df3ad10

Browse files
committed
Fix required_code_scanning missing from terraform state
1 parent 9fceeda commit df3ad10

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

github/respository_rules_utils.go

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,9 +542,31 @@ func flattenRules(rules []*github.RepositoryRule, org bool) []interface{} {
542542
rule["min_entries_to_merge"] = params.MinEntriesToMerge
543543
rule["min_entries_to_merge_wait_minutes"] = params.MinEntriesToMergeWaitMinutes
544544
rulesMap[v.Type] = []map[string]interface{}{rule}
545+
546+
case "required_code_scanning":
547+
var params github.RequiredCodeScanningRuleParameters
548+
549+
err := json.Unmarshal(*v.Parameters, &params)
550+
if err != nil {
551+
log.Printf("[INFO] Unexpected error unmarshalling rule %s with parameters: %v",
552+
v.Type, v.Parameters)
553+
}
554+
555+
requiredCodeScanningToolSlice := make([]map[string]interface{}, 0)
556+
for _, tool := range params.RequiredCodeScanningTools {
557+
requiredCodeScanningToolSlice = append(requiredCodeScanningToolSlice, map[string]interface{}{
558+
"alerts_threshold": tool.AlertsThreshold,
559+
"security_alerts_threshold": tool.SecurityAlertsThreshold,
560+
"tool": tool.Tool,
561+
})
562+
}
563+
564+
rule := make(map[string]interface{})
565+
rule["required_code_scanning_tool"] = requiredCodeScanningToolSlice
566+
rulesMap[v.Type] = []map[string]interface{}{rule}
545567
}
546-
}
547568

569+
}
548570
return []interface{}{rulesMap}
549571
}
550572

0 commit comments

Comments
 (0)