From 3ecd520f8efed544e9507bccb56ec8a99b199679 Mon Sep 17 00:00:00 2001 From: John Olheiser Date: Tue, 29 Mar 2022 11:26:51 -0500 Subject: [PATCH] Granular webhook events in editHook (#19251) (#19257) Signed-off-by: jolheiser --- routers/api/v1/utils/hook.go | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/routers/api/v1/utils/hook.go b/routers/api/v1/utils/hook.go index 1f0a35ce22..6c06bcdd41 100644 --- a/routers/api/v1/utils/hook.go +++ b/routers/api/v1/utils/hook.go @@ -246,18 +246,29 @@ func editHook(ctx *context.APIContext, form *api.EditHookOption, w *webhook.Webh w.ChooseEvents = true w.Create = util.IsStringInSlice(string(webhook.HookEventCreate), form.Events, true) w.Push = util.IsStringInSlice(string(webhook.HookEventPush), form.Events, true) - w.PullRequest = util.IsStringInSlice(string(webhook.HookEventPullRequest), form.Events, true) w.Create = util.IsStringInSlice(string(webhook.HookEventCreate), form.Events, true) w.Delete = util.IsStringInSlice(string(webhook.HookEventDelete), form.Events, true) w.Fork = util.IsStringInSlice(string(webhook.HookEventFork), form.Events, true) - w.Issues = util.IsStringInSlice(string(webhook.HookEventIssues), form.Events, true) - w.IssueComment = util.IsStringInSlice(string(webhook.HookEventIssueComment), form.Events, true) - w.Push = util.IsStringInSlice(string(webhook.HookEventPush), form.Events, true) - w.PullRequest = util.IsStringInSlice(string(webhook.HookEventPullRequest), form.Events, true) w.Repository = util.IsStringInSlice(string(webhook.HookEventRepository), form.Events, true) w.Release = util.IsStringInSlice(string(webhook.HookEventRelease), form.Events, true) w.BranchFilter = form.BranchFilter + // Issues + w.Issues = issuesHook(form.Events, "issues_only") + w.IssueAssign = issuesHook(form.Events, string(webhook.HookEventIssueAssign)) + w.IssueLabel = issuesHook(form.Events, string(webhook.HookEventIssueLabel)) + w.IssueMilestone = issuesHook(form.Events, string(webhook.HookEventIssueMilestone)) + w.IssueComment = issuesHook(form.Events, string(webhook.HookEventIssueComment)) + + // Pull requests + w.PullRequest = pullHook(form.Events, "pull_request_only") + w.PullRequestAssign = pullHook(form.Events, string(webhook.HookEventPullRequestAssign)) + w.PullRequestLabel = pullHook(form.Events, string(webhook.HookEventPullRequestLabel)) + w.PullRequestMilestone = pullHook(form.Events, string(webhook.HookEventPullRequestMilestone)) + w.PullRequestComment = pullHook(form.Events, string(webhook.HookEventPullRequestComment)) + w.PullRequestReview = pullHook(form.Events, "pull_request_review") + w.PullRequestSync = pullHook(form.Events, string(webhook.HookEventPullRequestSync)) + if err := w.UpdateEvent(); err != nil { ctx.Error(http.StatusInternalServerError, "UpdateEvent", err) return false -- 2.39.5