|
|
|
@ -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 |
|
|
|
|
} |
|
|
|
|
}() |
|
|
|
|