Skip to content

Commit 3a4d547

Browse files
committed
Extract release webhook method
1 parent fa4e892 commit 3a4d547

File tree

1 file changed

+8
-27
lines changed

1 file changed

+8
-27
lines changed

modules/notification/webhook/webhook.go

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"code.gitea.io/gitea/modules/notification/base"
1212
"code.gitea.io/gitea/modules/setting"
1313
api "code.gitea.io/gitea/modules/structs"
14-
"code.gitea.io/gitea/modules/webhook"
1514
webhook_module "code.gitea.io/gitea/modules/webhook"
1615
)
1716

@@ -628,15 +627,15 @@ func (m *webhookNotifier) NotifyDeleteRef(pusher *models.User, repo *models.Repo
628627
}
629628
}
630629

631-
func (m *webhookNotifier) NotifyNewRelease(rel *models.Release) {
630+
func sendReleaseHook(doer *models.User, rel *models.Release, action api.HookReleaseAction) {
632631
if err := rel.LoadAttributes(); err != nil {
633632
log.Error("LoadAttributes: %v", err)
634633
return
635634
}
636635

637636
mode, _ := models.AccessLevel(rel.Publisher, rel.Repo)
638637
if err := webhook_module.PrepareWebhooks(rel.Repo, models.HookEventRelease, &api.ReleasePayload{
639-
Action: api.HookReleasePublished,
638+
Action: action,
640639
Release: rel.APIFormat(),
641640
Repository: rel.Repo.APIFormat(mode),
642641
Sender: rel.Publisher.APIFormat(),
@@ -645,32 +644,14 @@ func (m *webhookNotifier) NotifyNewRelease(rel *models.Release) {
645644
}
646645
}
647646

648-
func (m *webhookNotifier) NotifyUpdateRelease(doer *models.User, rel *models.Release) {
649-
if err := rel.LoadAttributes(); err != nil {
650-
log.Error("LoadAttributes: %v", err)
651-
return
652-
}
647+
func (m *webhookNotifier) NotifyNewRelease(rel *models.Release) {
648+
sendReleaseHook(rel.Publisher, rel, api.HookReleasePublished)
649+
}
653650

654-
// even if attachments added failed, hooks will be still triggered
655-
mode, _ := models.AccessLevel(doer, rel.Repo)
656-
if err := webhook.PrepareWebhooks(rel.Repo, models.HookEventRelease, &api.ReleasePayload{
657-
Action: api.HookReleaseUpdated,
658-
Release: rel.APIFormat(),
659-
Repository: rel.Repo.APIFormat(mode),
660-
Sender: doer.APIFormat(),
661-
}); err != nil {
662-
log.Error("PrepareWebhooks: %v", err)
663-
}
651+
func (m *webhookNotifier) NotifyUpdateRelease(doer *models.User, rel *models.Release) {
652+
sendReleaseHook(doer, rel, api.HookReleaseUpdated)
664653
}
665654

666655
func (m *webhookNotifier) NotifyDeleteRelease(doer *models.User, rel *models.Release) {
667-
mode, _ := models.AccessLevel(doer, rel.Repo)
668-
if err := webhook.PrepareWebhooks(rel.Repo, models.HookEventRelease, &api.ReleasePayload{
669-
Action: api.HookReleaseDeleted,
670-
Release: rel.APIFormat(),
671-
Repository: rel.Repo.APIFormat(mode),
672-
Sender: doer.APIFormat(),
673-
}); err != nil {
674-
log.Error("PrepareWebhooks: %v", err)
675-
}
656+
sendReleaseHook(doer, rel, api.HookReleaseDeleted)
676657
}

0 commit comments

Comments
 (0)