diff options
author | 谈笑风生间 <makonike@anyview.fun> | 2023-05-25 10:06:27 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-24 22:06:27 -0400 |
commit | 309354c70ee994a1e8f261d7bc24e7473e601d02 (patch) | |
tree | 89a96f611eef8b37e17dcead9767ff8d9ba976ef /models/webhook | |
parent | 93c6a9a652460f89fc719024c435cacbb235d302 (diff) | |
download | gitea-309354c70ee994a1e8f261d7bc24e7473e601d02.tar.gz gitea-309354c70ee994a1e8f261d7bc24e7473e601d02.zip |
New webhook trigger for receiving Pull Request review requests (#24481)
close https://github.com/go-gitea/gitea/issues/16321
Provided a webhook trigger for requesting someone to review the Pull
Request.
Some modifications have been made to the returned `PullRequestPayload`
based on the GitHub webhook settings, including:
- add a description of the current reviewer object as
`RequestedReviewer` .
- setting the action to either **review_requested** or
**review_request_removed** based on the operation.
- adding the `RequestedReviewers` field to the issues_model.PullRequest.
This field will be loaded into the PullRequest through
`LoadRequestedReviewers()` when `ToAPIPullRequest` is called.
After the Pull Request is merged, I will supplement the relevant
documentation.
Diffstat (limited to 'models/webhook')
-rw-r--r-- | models/webhook/webhook.go | 7 | ||||
-rw-r--r-- | models/webhook/webhook_test.go | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/models/webhook/webhook.go b/models/webhook/webhook.go index e3f6b593d9..fc2bbed083 100644 --- a/models/webhook/webhook.go +++ b/models/webhook/webhook.go @@ -298,6 +298,12 @@ func (w *Webhook) HasPackageEvent() bool { (w.ChooseEvents && w.HookEvents.Package) } +// HasPullRequestReviewRequestEvent returns true if hook enabled pull request review request event. +func (w *Webhook) HasPullRequestReviewRequestEvent() bool { + return w.SendEverything || + (w.ChooseEvents && w.HookEvents.PullRequestReviewRequest) +} + // EventCheckers returns event checkers func (w *Webhook) EventCheckers() []struct { Has func() bool @@ -329,6 +335,7 @@ func (w *Webhook) EventCheckers() []struct { {w.HasRepositoryEvent, webhook_module.HookEventRepository}, {w.HasReleaseEvent, webhook_module.HookEventRelease}, {w.HasPackageEvent, webhook_module.HookEventPackage}, + {w.HasPullRequestReviewRequestEvent, webhook_module.HookEventPullRequestReviewRequest}, } } diff --git a/models/webhook/webhook_test.go b/models/webhook/webhook_test.go index e05dcaba01..de6568c321 100644 --- a/models/webhook/webhook_test.go +++ b/models/webhook/webhook_test.go @@ -73,7 +73,7 @@ func TestWebhook_EventsArray(t *testing.T) { "pull_request", "pull_request_assign", "pull_request_label", "pull_request_milestone", "pull_request_comment", "pull_request_review_approved", "pull_request_review_rejected", "pull_request_review_comment", "pull_request_sync", "wiki", "repository", "release", - "package", + "package", "pull_request_review_request", }, (&Webhook{ HookEvent: &webhook_module.HookEvent{SendEverything: true}, |