aboutsummaryrefslogtreecommitdiffstats
path: root/models/release.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/release.go')
-rw-r--r--models/release.go22
1 files changed, 21 insertions, 1 deletions
diff --git a/models/release.go b/models/release.go
index 586f494e7d..bc0260c71d 100644
--- a/models/release.go
+++ b/models/release.go
@@ -10,6 +10,7 @@ import (
"strings"
"code.gitea.io/git"
+ "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/process"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
@@ -190,8 +191,27 @@ func CreateRelease(gitRepo *git.Repository, rel *Release, attachmentUUIDs []stri
}
err = addReleaseAttachments(rel.ID, attachmentUUIDs)
+ if err != nil {
+ return err
+ }
- return err
+ if !rel.IsDraft {
+ if err := rel.LoadAttributes(); err != nil {
+ log.Error(2, "LoadAttributes: %v", err)
+ } else {
+ mode, _ := AccessLevel(rel.PublisherID, rel.Repo)
+ if err := PrepareWebhooks(rel.Repo, HookEventRelease, &api.ReleasePayload{
+ Action: api.HookReleasePublished,
+ Release: rel.APIFormat(),
+ Repository: rel.Repo.APIFormat(mode),
+ Sender: rel.Publisher.APIFormat(),
+ }); err != nil {
+ log.Error(2, "PrepareWebhooks: %v", err)
+ }
+ }
+ }
+
+ return nil
}
// GetRelease returns release by given ID.