@@ -130,6 +130,14 @@ const (
130130 MergeQueueMergeMethodSquash MergeQueueMergeMethod = "SQUASH"
131131)
132132
133+ // RulesetReviewerType represents the type of reviewer in a ruleset required reviewer.
134+ type RulesetReviewerType string
135+
136+ // This is the set of GitHub ruleset reviewer types.
137+ const (
138+ RulesetReviewerTypeTeam RulesetReviewerType = "Team"
139+ )
140+
133141// PatternRuleOperator models a GitHub pattern rule operator.
134142type PatternRuleOperator string
135143
@@ -416,13 +424,27 @@ type RequiredDeploymentsRuleParameters struct {
416424
417425// PullRequestRuleParameters represents the pull_request rule parameters.
418426type PullRequestRuleParameters struct {
419- AllowedMergeMethods []PullRequestMergeMethod `json:"allowed_merge_methods"`
420- AutomaticCopilotCodeReviewEnabled * bool `json:"automatic_copilot_code_review_enabled,omitempty"`
421- DismissStaleReviewsOnPush bool `json:"dismiss_stale_reviews_on_push"`
422- RequireCodeOwnerReview bool `json:"require_code_owner_review"`
423- RequireLastPushApproval bool `json:"require_last_push_approval"`
424- RequiredApprovingReviewCount int `json:"required_approving_review_count"`
425- RequiredReviewThreadResolution bool `json:"required_review_thread_resolution"`
427+ AllowedMergeMethods []PullRequestMergeMethod `json:"allowed_merge_methods"`
428+ AutomaticCopilotCodeReviewEnabled * bool `json:"automatic_copilot_code_review_enabled,omitempty"`
429+ DismissStaleReviewsOnPush bool `json:"dismiss_stale_reviews_on_push"`
430+ RequireCodeOwnerReview bool `json:"require_code_owner_review"`
431+ RequireLastPushApproval bool `json:"require_last_push_approval"`
432+ RequiredApprovingReviewCount int `json:"required_approving_review_count"`
433+ RequiredReviewers []* RulesetRequiredReviewer `json:"required_reviewers,omitempty"`
434+ RequiredReviewThreadResolution bool `json:"required_review_thread_resolution"`
435+ }
436+
437+ // RulesetRequiredReviewer represents required reviewer parameters for pull requests in rulesets.
438+ type RulesetRequiredReviewer struct {
439+ MinimumApprovals * int `json:"minimum_approvals,omitempty"`
440+ FilePatterns []string `json:"file_patterns,omitempty"`
441+ Reviewer * RulesetReviewer `json:"reviewer,omitempty"`
442+ }
443+
444+ // RulesetReviewer represents a reviewer in a ruleset required reviewer rule.
445+ type RulesetReviewer struct {
446+ ID * int64 `json:"id,omitempty"`
447+ Type * RulesetReviewerType `json:"type,omitempty"`
426448}
427449
428450// RequiredStatusChecksRuleParameters represents the required status checks rule parameters.
0 commit comments