From 1244e06d766b335310840d42679af26abd98c439 Mon Sep 17 00:00:00 2001 From: Aradhya Jain Date: Wed, 21 Oct 2026 06:54:03 +0530 Subject: [PATCH] enhance(webhook): mention release assets in notifications (#39631) Release webhook notifications never mention attached files, although the payload carries them. The summary shared by all webhook providers now appends an asset count like `(assets: 2)` for created and updated releases. Closes https://github.com/go-gitea/gitea/issues/39630 Co-authored-by: silverwind --- services/webhook/general.go | 4 ++++ services/webhook/general_test.go | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/services/webhook/general.go b/services/webhook/general.go index 01828ce58f5..0d7af67ae86 100644 --- a/services/webhook/general.go +++ b/services/webhook/general.go @@ -255,6 +255,10 @@ func getReleasePayloadInfo(p *api.ReleasePayload, linkFormatter linkFormatter, w text += " by " + linkFormatter(setting.AppURL+url.PathEscape(p.Sender.UserName), p.Sender.UserName) } + if p.Action != api.HookReleaseDeleted && len(p.Release.Attachments) > 0 { + text += fmt.Sprintf(" (assets: %d)", len(p.Release.Attachments)) + } + return text, color } diff --git a/services/webhook/general_test.go b/services/webhook/general_test.go index c7a50ca8fed..abd2b2bd0e8 100644 --- a/services/webhook/general_test.go +++ b/services/webhook/general_test.go @@ -624,6 +624,7 @@ func TestGetWikiPayloadInfo(t *testing.T) { func TestGetReleasePayloadInfo(t *testing.T) { p := pullReleaseTestPayload() + p.Release.Attachments = []*api.Attachment{{}, {}} cases := []struct { action api.HookReleaseAction @@ -632,12 +633,12 @@ func TestGetReleasePayloadInfo(t *testing.T) { }{ { api.HookReleasePublished, - "[test/repo] Release created: v1.0 by user1", + "[test/repo] Release created: v1.0 by user1 (assets: 2)", greenColor, }, { api.HookReleaseUpdated, - "[test/repo] Release updated: v1.0 by user1", + "[test/repo] Release updated: v1.0 by user1 (assets: 2)", yellowColor, }, {