diff --git a/models/webhook.go b/models/webhook.go index 5ad27ee8f..9e5742cb5 100644 --- a/models/webhook.go +++ b/models/webhook.go @@ -221,6 +221,13 @@ func getWebhook(bean *Webhook) (*Webhook, error) { return bean, nil } +// GetWebhookByID returns webhook of repository by given ID. +func GetWebhookByID(id int64) (*Webhook, error) { + return getWebhook(&Webhook{ + ID: id, + }) +} + // GetWebhookByRepoID returns webhook of repository by given ID. func GetWebhookByRepoID(repoID, id int64) (*Webhook, error) { return getWebhook(&Webhook{ @@ -271,6 +278,12 @@ func UpdateWebhook(w *Webhook) error { return err } +// UpdateWebhookLastStatus updates last status of webhook. +func UpdateWebhookLastStatus(w *Webhook) error { + _, err := x.ID(w.ID).Cols("last_status").Update(w) + return err +} + // deleteWebhook uses argument bean as query condition, // ID must be specified and do not assign unnecessary fields. func deleteWebhook(bean *Webhook) (err error) { @@ -603,7 +616,7 @@ func (t *HookTask) deliver() { } // Update webhook last delivery status. - w, err := GetWebhookByRepoID(t.RepoID, t.HookID) + w, err := GetWebhookByID(t.HookID) if err != nil { log.Error(5, "GetWebhookByID: %v", err) return @@ -613,8 +626,8 @@ func (t *HookTask) deliver() { } else { w.LastStatus = HookStatusFail } - if err = UpdateWebhook(w); err != nil { - log.Error(5, "UpdateWebhook: %v", err) + if err = UpdateWebhookLastStatus(w); err != nil { + log.Error(5, "UpdateWebhookLastStatus: %v", err) return } }() diff --git a/models/webhook_discord.go b/models/webhook_discord.go index bdb363af7..4426a945b 100644 --- a/models/webhook_discord.go +++ b/models/webhook_discord.go @@ -142,8 +142,6 @@ func getDiscordPushPayload(p *api.PushPayload, meta *DiscordMeta) (*DiscordPaylo } } - fmt.Println(text) - return &DiscordPayload{ Username: meta.Username, AvatarURL: meta.IconURL, diff --git a/routers/routes/routes.go b/routers/routes/routes.go index a51c80958..5fa93fdb0 100644 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -396,7 +396,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/gitea/new", bindIgnErr(auth.NewWebhookForm{}), repo.WebHooksNewPost) m.Post("/gogs/new", bindIgnErr(auth.NewGogshookForm{}), repo.GogsHooksNewPost) m.Post("/slack/new", bindIgnErr(auth.NewSlackHookForm{}), repo.SlackHooksNewPost) - m.Post("/discord/new", bindIgnErr(auth.NewDiscordHookForm{}), repo.DiscordHooksEditPost) + m.Post("/discord/new", bindIgnErr(auth.NewDiscordHookForm{}), repo.DiscordHooksNewPost) m.Get("/:id", repo.WebHooksEdit) m.Post("/gitea/:id", bindIgnErr(auth.NewWebhookForm{}), repo.WebHooksEditPost) m.Post("/gogs/:id", bindIgnErr(auth.NewGogshookForm{}), repo.GogsHooksEditPost) diff --git a/templates/org/settings/hook_new.tmpl b/templates/org/settings/hook_new.tmpl index 8d55e80ea..1710713f9 100644 --- a/templates/org/settings/hook_new.tmpl +++ b/templates/org/settings/hook_new.tmpl @@ -22,6 +22,7 @@ {{template "repo/settings/hook_gitea" .}} {{template "repo/settings/hook_gogs" .}} {{template "repo/settings/hook_slack" .}} + {{template "repo/settings/hook_discord" .}} {{template "repo/settings/hook_history" .}}