diff options
author | John Olheiser <john.olheiser@gmail.com> | 2022-03-29 06:55:00 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-29 13:55:00 +0200 |
commit | ea6efba9b3fd298c842a935266060e405e2ae4a3 (patch) | |
tree | d58829b7d63c7763e94b1d2ae3174432129c6290 | |
parent | 97625b44e7ec96a99b78e910ddcfdabb687f68b3 (diff) | |
download | gitea-ea6efba9b3fd298c842a935266060e405e2ae4a3.tar.gz gitea-ea6efba9b3fd298c842a935266060e405e2ae4a3.zip |
Granular webhook events in editHook (#19251)
Signed-off-by: jolheiser <john.olheiser@gmail.com>
-rw-r--r-- | routers/api/v1/utils/hook.go | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/routers/api/v1/utils/hook.go b/routers/api/v1/utils/hook.go index d4d4e05524..4c3753231d 100644 --- a/routers/api/v1/utils/hook.go +++ b/routers/api/v1/utils/hook.go @@ -245,18 +245,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 |