aboutsummaryrefslogtreecommitdiff
path: root/models/webhook.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/webhook.go')
-rw-r--r--models/webhook.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/models/webhook.go b/models/webhook.go
index feabf03b..a55fcfa7 100644
--- a/models/webhook.go
+++ b/models/webhook.go
@@ -63,6 +63,7 @@ func IsValidHookContentType(name string) bool {
type HookEvents struct {
Create bool `json:"create"`
+ Delete bool `json:"delete"`
Push bool `json:"push"`
PullRequest bool `json:"pull_request"`
}
@@ -156,6 +157,12 @@ func (w *Webhook) HasCreateEvent() bool {
(w.ChooseEvents && w.HookEvents.Create)
}
+// HasDeleteEvent returns true if hook enabled delete event.
+func (w *Webhook) HasDeleteEvent() bool {
+ return w.SendEverything ||
+ (w.ChooseEvents && w.HookEvents.Delete)
+}
+
// HasPushEvent returns true if hook enabled push event.
func (w *Webhook) HasPushEvent() bool {
return w.PushOnly || w.SendEverything ||
@@ -337,6 +344,7 @@ type HookEventType string
const (
HOOK_EVENT_CREATE HookEventType = "create"
+ HOOK_EVENT_DELETE HookEventType = "delete"
HOOK_EVENT_PUSH HookEventType = "push"
HOOK_EVENT_PULL_REQUEST HookEventType = "pull_request"
)
@@ -462,6 +470,10 @@ func prepareWebhooks(repo *Repository, event HookEventType, p api.Payloader, web
if !w.HasCreateEvent() {
continue
}
+ case HOOK_EVENT_DELETE:
+ if !w.HasDeleteEvent() {
+ continue
+ }
case HOOK_EVENT_PUSH:
if !w.HasPushEvent() {
continue