-
Notifications
You must be signed in to change notification settings - Fork 2.2k
ProtectionChanges doesn't encapsulate all possible values #2485
Copy link
Copy link
Closed
Description
The ProtectionChanges object used by BranchProtectionRuleEvent does not include all the possible return values. Currently it looks like:
type ProtectionChanges struct {
AuthorizedActorsOnly *AuthorizedActorsOnly `json:"authorized_actors_only,omitempty"`
AuthorizedActorNames *AuthorizedActorNames `json:"authorized_actor_names,omitempty"`
}which is all that is ever returned in GitHub's documentation, but that isn't all that is possible. It should look something more like:
type ProtectionChanges struct {
PullRequestReviewsEnforcementLevel *PullRequestReviewsEnforcementLevel `json:"pull_request_reviews_enforcement_level,omitempty"`
DismissStaleReviewsOnPush *DismissStaleReviewsOnPush `json:"dismiss_stale_reviews_on_push,omitempty"`
RequireCodeOwnerReview *RequireCodeOwnerReview `json:"require_code_owner_review,omitempty"`
AuthorizedDismissalActorsOnly *AuthorizedDismissalActorsOnly `json:"authorized_dismissal_actors_only,omitempty"`
RequiredStatusChecks *RequiredStatusChecks `json:"required_status_checks,omitempty"`
RequiredStatusChecksEnforcementLevel *RequiredStatusChecksEnforcementLevel `json:"required_status_checks_enforcement_level,omitempty"`
SignatureRequirementEnforcementLevel *SignatureRequirementEnforcementLevel `json:"signature_requirement_enforcement_level,omitempty"`
LinearHistoryRequirementEnforcementLevel *LinearHistoryRequirementEnforcementLevel `json:"linear_history_requirement_enforcement_level,omitempty"`
AdminEnforced *AdminEnforced `json:"admin_enforced,omitempty"`
CreateProtected *CreateProtected `json:"create_protected,omitempty"`
AllowDeletionsEnforcementLevel *AllowDeletionsEnforcementLevel `json:"allow_deletions_enforcement_level,omitempty"`
RequiredDeploymentsEnforcementLevel *RequiredDeploymentsEnforcementLevel `json:"required_deployments_enforcement_level,omitempty"`
RequiredConversationResolutionLevel *RequiredConversationResolutionLevel `json:"required_conversation_resolution_level,omitempty"`
AuthorizedActorsOnly *AuthorizedActorsOnly `json:"authorized_actors_only,omitempty"`
AuthorizedActorNames *AuthorizedActorNames `json:"authorized_actor_names,omitempty"`
}with one or two more fields related to require deployment successes.
Reactions are currently unavailable