diff --git a/github/event_types.go b/github/event_types.go index 0df3b30c381..6a6caf19ddb 100644 --- a/github/event_types.go +++ b/github/event_types.go @@ -858,8 +858,10 @@ type MergeGroup struct { // // GitHub API docs: https://docs.github.com/developers/webhooks-and-events/webhook-events-and-payloads#merge_group type MergeGroupEvent struct { - // The action that was performed. Currently, can only be checks_requested. + // The action that was performed. Possible values are: "checks_requested", "destroyed". Action *string `json:"action,omitempty"` + // Reason is populated when the action is "destroyed". Possible values: "merged", "invalidated", "dequeued". + Reason *string `json:"reason,omitempty"` // The merge group. MergeGroup *MergeGroup `json:"merge_group,omitempty"` diff --git a/github/event_types_test.go b/github/event_types_test.go index 947f97026a9..35d57dbe303 100644 --- a/github/event_types_test.go +++ b/github/event_types_test.go @@ -10746,6 +10746,7 @@ func TestMergeGroupEvent_Marshal(t *testing.T) { u := &MergeGroupEvent{ Action: Ptr("a"), + Reason: Ptr("r"), MergeGroup: &MergeGroup{ HeadSHA: Ptr("hs"), HeadRef: Ptr("hr"), @@ -10886,6 +10887,7 @@ func TestMergeGroupEvent_Marshal(t *testing.T) { want := `{ "action": "a", + "reason": "r", "merge_group": { "head_sha": "hs", "head_ref": "hr", diff --git a/github/github-accessors.go b/github/github-accessors.go index 905dd80c8a2..56e478f1e78 100644 --- a/github/github-accessors.go +++ b/github/github-accessors.go @@ -14238,6 +14238,14 @@ func (m *MergeGroupEvent) GetOrg() *Organization { return m.Org } +// GetReason returns the Reason field if it's non-nil, zero value otherwise. +func (m *MergeGroupEvent) GetReason() string { + if m == nil || m.Reason == nil { + return "" + } + return *m.Reason +} + // GetRepo returns the Repo field. func (m *MergeGroupEvent) GetRepo() *Repository { if m == nil { diff --git a/github/github-accessors_test.go b/github/github-accessors_test.go index 8d69ad42e7e..d69c4847dd5 100644 --- a/github/github-accessors_test.go +++ b/github/github-accessors_test.go @@ -18445,6 +18445,17 @@ func TestMergeGroupEvent_GetOrg(tt *testing.T) { m.GetOrg() } +func TestMergeGroupEvent_GetReason(tt *testing.T) { + tt.Parallel() + var zeroValue string + m := &MergeGroupEvent{Reason: &zeroValue} + m.GetReason() + m = &MergeGroupEvent{} + m.GetReason() + m = nil + m.GetReason() +} + func TestMergeGroupEvent_GetRepo(tt *testing.T) { tt.Parallel() m := &MergeGroupEvent{}