diff --git a/models/webhook.go b/models/webhook.go index 01a014223b..2db0274115 100644 --- a/models/webhook.go +++ b/models/webhook.go @@ -165,13 +165,16 @@ func (w *Webhook) HasPullRequestEvent() bool { } func (w *Webhook) EventsArray() []string { - events := make([]string, 0, 2) + events := make([]string, 0, 3) if w.HasCreateEvent() { events = append(events, "create") } if w.HasPushEvent() { events = append(events, "push") } + if w.HasPullRequestEvent() { + events = append(events, "pull_request") + } return events } diff --git a/routers/api/v1/repo/hook.go b/routers/api/v1/repo/hook.go index 2811a4d29e..3b36055db5 100644 --- a/routers/api/v1/repo/hook.go +++ b/routers/api/v1/repo/hook.go @@ -59,8 +59,9 @@ func CreateHook(ctx *context.APIContext, form api.CreateHookOption) { HookEvent: &models.HookEvent{ ChooseEvents: true, HookEvents: models.HookEvents{ - Create: com.IsSliceContainsStr(form.Events, string(models.HOOK_EVENT_CREATE)), - Push: com.IsSliceContainsStr(form.Events, string(models.HOOK_EVENT_PUSH)), + Create: com.IsSliceContainsStr(form.Events, string(models.HOOK_EVENT_CREATE)), + Push: com.IsSliceContainsStr(form.Events, string(models.HOOK_EVENT_PUSH)), + PullRequest: com.IsSliceContainsStr(form.Events, string(models.HOOK_EVENT_PULL_REQUEST)), }, }, IsActive: form.Active, @@ -146,6 +147,7 @@ func EditHook(ctx *context.APIContext, form api.EditHookOption) { w.ChooseEvents = true w.Create = com.IsSliceContainsStr(form.Events, string(models.HOOK_EVENT_CREATE)) w.Push = com.IsSliceContainsStr(form.Events, string(models.HOOK_EVENT_PUSH)) + w.PullRequest = com.IsSliceContainsStr(form.Events, string(models.HOOK_EVENT_PULL_REQUEST)) if err = w.UpdateEvent(); err != nil { ctx.Error(500, "UpdateEvent", err) return