Skip to content

Commit 13bf498

Browse files
committed
2 parents 3c63c3a + 57146dc commit 13bf498

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

services/release/release.go

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"code.gitea.io/gitea/modules/git"
1414
"code.gitea.io/gitea/modules/log"
1515
"code.gitea.io/gitea/modules/process"
16+
"code.gitea.io/gitea/modules/setting"
1617
api "code.gitea.io/gitea/modules/structs"
1718
"code.gitea.io/gitea/modules/timeutil"
1819
)
@@ -37,6 +38,49 @@ func createTag(gitRepo *git.Repository, rel *models.Release) error {
3738
return err
3839
}
3940
rel.LowerTagName = strings.ToLower(rel.TagName)
41+
42+
// Prepare Webhook
43+
if err := rel.LoadAttributes(); err != nil {
44+
log.Error("LoadAttributes: %v", err)
45+
} else {
46+
47+
defer func() {
48+
go models.HookQueue.Add(rel.Repo.ID)
49+
}()
50+
51+
var shaSum string
52+
mode, _ := models.AccessLevel(rel.Publisher, rel.Repo)
53+
apiRepo := rel.Repo.APIFormat(mode)
54+
apiPusher := rel.Publisher.APIFormat()
55+
shaSum, err = gitRepo.GetTagCommitID(rel.TagName)
56+
if err != nil {
57+
log.Error("GetTagCommitID[%s]: %v", rel.TagName, err)
58+
}
59+
60+
// Tag Create
61+
if err = models.PrepareWebhooks(rel.Repo, models.HookEventCreate, &api.CreatePayload{
62+
Ref: git.TagPrefix + rel.TagName,
63+
Sha: shaSum,
64+
RefType: "tag",
65+
Repo: apiRepo,
66+
Sender: apiPusher,
67+
}); err != nil {
68+
return fmt.Errorf("PrepareWebhooks: %v", err)
69+
}
70+
// Tag Push
71+
if err = models.PrepareWebhooks(rel.Repo, models.HookEventPush, &api.PushPayload{
72+
Ref: git.TagPrefix + rel.TagName,
73+
Before: git.EmptySHA,
74+
After: shaSum,
75+
CompareURL: setting.AppURL,
76+
Commits: make([]*api.PayloadCommit, 0),
77+
Repo: apiRepo,
78+
Pusher: apiPusher,
79+
Sender: apiPusher,
80+
}); err != nil {
81+
return fmt.Errorf("PrepareWebhooks: %v", err)
82+
}
83+
}
4084
}
4185
commit, err := gitRepo.GetTagCommit(rel.TagName)
4286
if err != nil {

0 commit comments

Comments
 (0)