diff --git a/.golangci.yml b/.golangci.yml index a1a689e41dc..22832ae0bea 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -243,7 +243,6 @@ linters: - PublishCodespaceOptions - PullRequestBranchUpdateOptions - PullRequestComment - - PullRequestReviewDismissalRequest - PullRequestReviewRequest - PullRequestReviewsEnforcementUpdate - Repository diff --git a/github/github-accessors.go b/github/github-accessors.go index 138f841b5f2..8c304d0b947 100644 --- a/github/github-accessors.go +++ b/github/github-accessors.go @@ -31126,6 +31126,22 @@ func (p *PullRequestComment) GetUser() *User { return p.User } +// GetEvent returns the Event field if it's non-nil, zero value otherwise. +func (p *PullRequestDismissReviewRequest) GetEvent() string { + if p == nil || p.Event == nil { + return "" + } + return *p.Event +} + +// GetMessage returns the Message field. +func (p *PullRequestDismissReviewRequest) GetMessage() string { + if p == nil { + return "" + } + return p.Message +} + // GetAction returns the Action field if it's non-nil, zero value otherwise. func (p *PullRequestEvent) GetAction() string { if p == nil || p.Action == nil { @@ -31558,14 +31574,6 @@ func (p *PullRequestReviewCommentEvent) GetSender() *User { return p.Sender } -// GetMessage returns the Message field if it's non-nil, zero value otherwise. -func (p *PullRequestReviewDismissalRequest) GetMessage() string { - if p == nil || p.Message == nil { - return "" - } - return *p.Message -} - // GetAction returns the Action field if it's non-nil, zero value otherwise. func (p *PullRequestReviewEvent) GetAction() string { if p == nil || p.Action == nil { @@ -31926,6 +31934,22 @@ func (p *PullRequestRuleParameters) GetRequireLastPushApproval() bool { return p.RequireLastPushApproval } +// GetBody returns the Body field if it's non-nil, zero value otherwise. +func (p *PullRequestSubmitReviewRequest) GetBody() string { + if p == nil || p.Body == nil { + return "" + } + return *p.Body +} + +// GetEvent returns the Event field. +func (p *PullRequestSubmitReviewRequest) GetEvent() string { + if p == nil { + return "" + } + return p.Event +} + // GetAction returns the Action field if it's non-nil, zero value otherwise. func (p *PullRequestTargetEvent) GetAction() string { if p == nil || p.Action == nil { diff --git a/github/github-accessors_test.go b/github/github-accessors_test.go index 186fc7254db..92b2b28a674 100644 --- a/github/github-accessors_test.go +++ b/github/github-accessors_test.go @@ -39146,6 +39146,25 @@ func TestPullRequestComment_GetUser(tt *testing.T) { p.GetUser() } +func TestPullRequestDismissReviewRequest_GetEvent(tt *testing.T) { + tt.Parallel() + var zeroValue string + p := &PullRequestDismissReviewRequest{Event: &zeroValue} + p.GetEvent() + p = &PullRequestDismissReviewRequest{} + p.GetEvent() + p = nil + p.GetEvent() +} + +func TestPullRequestDismissReviewRequest_GetMessage(tt *testing.T) { + tt.Parallel() + p := &PullRequestDismissReviewRequest{} + p.GetMessage() + p = nil + p.GetMessage() +} + func TestPullRequestEvent_GetAction(tt *testing.T) { tt.Parallel() var zeroValue string @@ -39647,17 +39666,6 @@ func TestPullRequestReviewCommentEvent_GetSender(tt *testing.T) { p.GetSender() } -func TestPullRequestReviewDismissalRequest_GetMessage(tt *testing.T) { - tt.Parallel() - var zeroValue string - p := &PullRequestReviewDismissalRequest{Message: &zeroValue} - p.GetMessage() - p = &PullRequestReviewDismissalRequest{} - p.GetMessage() - p = nil - p.GetMessage() -} - func TestPullRequestReviewEvent_GetAction(tt *testing.T) { tt.Parallel() var zeroValue string @@ -40060,6 +40068,25 @@ func TestPullRequestRuleParameters_GetRequireLastPushApproval(tt *testing.T) { p.GetRequireLastPushApproval() } +func TestPullRequestSubmitReviewRequest_GetBody(tt *testing.T) { + tt.Parallel() + var zeroValue string + p := &PullRequestSubmitReviewRequest{Body: &zeroValue} + p.GetBody() + p = &PullRequestSubmitReviewRequest{} + p.GetBody() + p = nil + p.GetBody() +} + +func TestPullRequestSubmitReviewRequest_GetEvent(tt *testing.T) { + tt.Parallel() + p := &PullRequestSubmitReviewRequest{} + p.GetEvent() + p = nil + p.GetEvent() +} + func TestPullRequestTargetEvent_GetAction(tt *testing.T) { tt.Parallel() var zeroValue string diff --git a/github/github-stringify_test.go b/github/github-stringify_test.go index b45ec8fa3ab..6e59c44da8a 100644 --- a/github/github-stringify_test.go +++ b/github/github-stringify_test.go @@ -1705,6 +1705,18 @@ func TestPullRequestComment_String(t *testing.T) { } } +func TestPullRequestDismissReviewRequest_String(t *testing.T) { + t.Parallel() + v := PullRequestDismissReviewRequest{ + Message: "", + Event: Ptr(""), + } + want := `github.PullRequestDismissReviewRequest{Message:"", Event:""}` + if got := v.String(); got != want { + t.Errorf("PullRequestDismissReviewRequest.String = %v, want %v", got, want) + } +} + func TestPullRequestReview_String(t *testing.T) { t.Parallel() v := PullRequestReview{ @@ -1725,17 +1737,6 @@ func TestPullRequestReview_String(t *testing.T) { } } -func TestPullRequestReviewDismissalRequest_String(t *testing.T) { - t.Parallel() - v := PullRequestReviewDismissalRequest{ - Message: Ptr(""), - } - want := `github.PullRequestReviewDismissalRequest{Message:""}` - if got := v.String(); got != want { - t.Errorf("PullRequestReviewDismissalRequest.String = %v, want %v", got, want) - } -} - func TestPullRequestReviewRequest_String(t *testing.T) { t.Parallel() v := PullRequestReviewRequest{ diff --git a/github/pulls_reviews.go b/github/pulls_reviews.go index 9e299fd11e8..f901f32ce5e 100644 --- a/github/pulls_reviews.go +++ b/github/pulls_reviews.go @@ -93,15 +93,22 @@ func (r *PullRequestReviewRequest) isComfortFadePreview() (bool, error) { return false, nil } -// PullRequestReviewDismissalRequest represents a request to dismiss a review. -type PullRequestReviewDismissalRequest struct { - Message *string `json:"message,omitempty"` +// PullRequestDismissReviewRequest represents a request to dismiss a review. +type PullRequestDismissReviewRequest struct { + Message string `json:"message"` + Event *string `json:"event,omitempty"` } -func (r PullRequestReviewDismissalRequest) String() string { +func (r PullRequestDismissReviewRequest) String() string { return Stringify(r) } +// PullRequestSubmitReviewRequest represents a request to submit a review. +type PullRequestSubmitReviewRequest struct { + Body *string `json:"body,omitempty"` + Event string `json:"event"` +} + // ListReviews lists all reviews on the specified pull request. // // GitHub API docs: https://docs.github.com/rest/pulls/reviews?apiVersion=2022-11-28#list-reviews-for-a-pull-request @@ -293,7 +300,7 @@ func (s *PullRequestsService) UpdateReview(ctx context.Context, owner, repo stri // GitHub API docs: https://docs.github.com/rest/pulls/reviews?apiVersion=2022-11-28#submit-a-review-for-a-pull-request // //meta:operation POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events -func (s *PullRequestsService) SubmitReview(ctx context.Context, owner, repo string, number int, reviewID int64, body *PullRequestReviewRequest) (*PullRequestReview, *Response, error) { +func (s *PullRequestsService) SubmitReview(ctx context.Context, owner, repo string, number int, reviewID int64, body PullRequestSubmitReviewRequest) (*PullRequestReview, *Response, error) { u := fmt.Sprintf("repos/%v/%v/pulls/%v/reviews/%v/events", owner, repo, number, reviewID) req, err := s.client.NewRequest(ctx, "POST", u, body) @@ -315,7 +322,7 @@ func (s *PullRequestsService) SubmitReview(ctx context.Context, owner, repo stri // GitHub API docs: https://docs.github.com/rest/pulls/reviews?apiVersion=2022-11-28#dismiss-a-review-for-a-pull-request // //meta:operation PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals -func (s *PullRequestsService) DismissReview(ctx context.Context, owner, repo string, number int, reviewID int64, body *PullRequestReviewDismissalRequest) (*PullRequestReview, *Response, error) { +func (s *PullRequestsService) DismissReview(ctx context.Context, owner, repo string, number int, reviewID int64, body PullRequestDismissReviewRequest) (*PullRequestReview, *Response, error) { u := fmt.Sprintf("repos/%v/%v/pulls/%v/reviews/%v/dismissals", owner, repo, number, reviewID) req, err := s.client.NewRequest(ctx, "PUT", u, body) diff --git a/github/pulls_reviews_test.go b/github/pulls_reviews_test.go index 2b4639ce501..8133bc5ca14 100644 --- a/github/pulls_reviews_test.go +++ b/github/pulls_reviews_test.go @@ -512,9 +512,9 @@ func TestPullRequestsService_SubmitReview(t *testing.T) { t.Parallel() client, mux, _ := setup(t) - input := &PullRequestReviewRequest{ + input := PullRequestSubmitReviewRequest{ Body: Ptr("b"), - Event: Ptr("APPROVE"), + Event: "APPROVE", } mux.HandleFunc("/repos/o/r/pulls/1/reviews/1/events", func(w http.ResponseWriter, r *http.Request) { @@ -554,7 +554,7 @@ func TestPullRequestsService_SubmitReview_invalidOwner(t *testing.T) { client, _, _ := setup(t) ctx := t.Context() - _, _, err := client.PullRequests.SubmitReview(ctx, "%", "r", 1, 1, &PullRequestReviewRequest{}) + _, _, err := client.PullRequests.SubmitReview(ctx, "%", "r", 1, 1, PullRequestSubmitReviewRequest{}) testURLParseError(t, err) } @@ -562,7 +562,7 @@ func TestPullRequestsService_DismissReview(t *testing.T) { t.Parallel() client, mux, _ := setup(t) - input := &PullRequestReviewDismissalRequest{Message: Ptr("m")} + input := PullRequestDismissReviewRequest{Message: "m", Event: Ptr("DISMISS")} mux.HandleFunc("/repos/o/r/pulls/1/reviews/1/dismissals", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, "PUT") @@ -601,6 +601,6 @@ func TestPullRequestsService_DismissReview_invalidOwner(t *testing.T) { client, _, _ := setup(t) ctx := t.Context() - _, _, err := client.PullRequests.DismissReview(ctx, "%", "r", 1, 1, &PullRequestReviewDismissalRequest{}) + _, _, err := client.PullRequests.DismissReview(ctx, "%", "r", 1, 1, PullRequestDismissReviewRequest{}) testURLParseError(t, err) } diff --git a/github/strings_test.go b/github/strings_test.go index ff5a8f06c6a..83392f1f80e 100644 --- a/github/strings_test.go +++ b/github/strings_test.go @@ -202,7 +202,7 @@ func TestString(t *testing.T) { {PullRequestReview{ID: Ptr(int64(1))}, `github.PullRequestReview{ID:1}`}, {DraftReviewComment{Position: Ptr(1)}, `github.DraftReviewComment{Position:1}`}, {PullRequestReviewRequest{Body: Ptr("r")}, `github.PullRequestReviewRequest{Body:"r"}`}, - {PullRequestReviewDismissalRequest{Message: Ptr("r")}, `github.PullRequestReviewDismissalRequest{Message:"r"}`}, + {PullRequestDismissReviewRequest{Message: "r"}, `github.PullRequestDismissReviewRequest{Message:"r"}`}, {HeadCommit{SHA: Ptr("s")}, `github.HeadCommit{SHA:"s"}`}, {PushEvent{PushID: Ptr(int64(1))}, `github.PushEvent{PushID:1}`}, {Reference{Ref: Ptr("r")}, `github.Reference{Ref:"r"}`},