summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/notification/webhook/webhook.go27
-rw-r--r--modules/repofiles/action.go4
-rw-r--r--modules/webhook/deliver.go4
-rw-r--r--modules/webhook/webhook.go18
-rw-r--r--routers/api/v1/repo/hook.go2
-rw-r--r--routers/repo/pull.go2
-rw-r--r--routers/repo/webhook.go1
-rw-r--r--services/milestone/milestone.go2
-rw-r--r--services/mirror/sync.go4
-rw-r--r--services/pull/merge.go2
-rw-r--r--services/pull/pull.go3
-rw-r--r--services/pull/review.go9
-rw-r--r--services/release/release.go6
13 files changed, 19 insertions, 65 deletions
diff --git a/modules/notification/webhook/webhook.go b/modules/notification/webhook/webhook.go
index 8d98ff0f9e..259b6352ab 100644
--- a/modules/notification/webhook/webhook.go
+++ b/modules/notification/webhook/webhook.go
@@ -62,8 +62,6 @@ func (m *webhookNotifier) NotifyIssueClearLabels(doer *models.User, issue *model
}
if err != nil {
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
- } else {
- go webhook_module.HookQueue.Add(issue.RepoID)
}
}
@@ -78,8 +76,6 @@ func (m *webhookNotifier) NotifyForkRepository(doer *models.User, oldRepo, repo
Sender: doer.APIFormat(),
}); err != nil {
log.Error("PrepareWebhooks [repo_id: %d]: %v", oldRepo.ID, err)
- } else {
- go webhook_module.HookQueue.Add(oldRepo.ID)
}
u := repo.MustOwner()
@@ -93,8 +89,6 @@ func (m *webhookNotifier) NotifyForkRepository(doer *models.User, oldRepo, repo
Sender: doer.APIFormat(),
}); err != nil {
log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
- } else {
- go webhook_module.HookQueue.Add(repo.ID)
}
}
}
@@ -109,8 +103,6 @@ func (m *webhookNotifier) NotifyCreateRepository(doer *models.User, u *models.Us
Sender: doer.APIFormat(),
}); err != nil {
log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
- } else {
- go webhook_module.HookQueue.Add(repo.ID)
}
}
}
@@ -127,7 +119,6 @@ func (m *webhookNotifier) NotifyDeleteRepository(doer *models.User, repo *models
}); err != nil {
log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
}
- go webhook_module.HookQueue.Add(repo.ID)
}
}
@@ -175,8 +166,6 @@ func (m *webhookNotifier) NotifyIssueChangeAssignee(doer *models.User, issue *mo
return
}
}
-
- go webhook_module.HookQueue.Add(issue.RepoID)
}
func (m *webhookNotifier) NotifyIssueChangeTitle(doer *models.User, issue *models.Issue, oldTitle string) {
@@ -217,8 +206,6 @@ func (m *webhookNotifier) NotifyIssueChangeTitle(doer *models.User, issue *model
if err != nil {
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
- } else {
- go webhook_module.HookQueue.Add(issue.RepoID)
}
}
@@ -259,8 +246,6 @@ func (m *webhookNotifier) NotifyIssueChangeStatus(doer *models.User, issue *mode
}
if err != nil {
log.Error("PrepareWebhooks [is_pull: %v, is_closed: %v]: %v", issue.IsPull, isClosed, err)
- } else {
- go webhook_module.HookQueue.Add(issue.Repo.ID)
}
}
@@ -274,8 +259,6 @@ func (m *webhookNotifier) NotifyNewIssue(issue *models.Issue) {
Sender: issue.Poster.APIFormat(),
}); err != nil {
log.Error("PrepareWebhooks: %v", err)
- } else {
- go webhook_module.HookQueue.Add(issue.RepoID)
}
}
@@ -312,8 +295,6 @@ func (m *webhookNotifier) NotifyIssueChangeContent(doer *models.User, issue *mod
}
if err != nil {
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
- } else {
- go webhook_module.HookQueue.Add(issue.RepoID)
}
}
@@ -347,8 +328,6 @@ func (m *webhookNotifier) NotifyUpdateComment(doer *models.User, c *models.Comme
IsPull: c.Issue.IsPull,
}); err != nil {
log.Error("PrepareWebhooks [comment_id: %d]: %v", c.ID, err)
- } else {
- go webhook_module.HookQueue.Add(c.Issue.Repo.ID)
}
}
@@ -364,8 +343,6 @@ func (m *webhookNotifier) NotifyCreateIssueComment(doer *models.User, repo *mode
IsPull: issue.IsPull,
}); err != nil {
log.Error("PrepareWebhooks [comment_id: %d]: %v", comment.ID, err)
- } else {
- go webhook_module.HookQueue.Add(repo.ID)
}
}
@@ -395,8 +372,6 @@ func (m *webhookNotifier) NotifyDeleteComment(doer *models.User, comment *models
IsPull: comment.Issue.IsPull,
}); err != nil {
log.Error("PrepareWebhooks [comment_id: %d]: %v", comment.ID, err)
- } else {
- go webhook_module.HookQueue.Add(comment.Issue.Repo.ID)
}
}
@@ -442,7 +417,5 @@ func (m *webhookNotifier) NotifyIssueChangeLabels(doer *models.User, issue *mode
}
if err != nil {
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
- } else {
- go webhook_module.HookQueue.Add(issue.RepoID)
}
}
diff --git a/modules/repofiles/action.go b/modules/repofiles/action.go
index addbdb464c..79f6406c53 100644
--- a/modules/repofiles/action.go
+++ b/modules/repofiles/action.go
@@ -112,10 +112,6 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
return fmt.Errorf("NotifyWatchers: %v", err)
}
- defer func() {
- go webhook.HookQueue.Add(repo.ID)
- }()
-
apiPusher := pusher.APIFormat()
apiRepo := repo.APIFormat(models.AccessModeNone)
diff --git a/modules/webhook/deliver.go b/modules/webhook/deliver.go
index 1b3da25d5e..54f20171fa 100644
--- a/modules/webhook/deliver.go
+++ b/modules/webhook/deliver.go
@@ -159,9 +159,9 @@ func DeliverHooks() {
}
// Start listening on new hook requests.
- for repoIDStr := range HookQueue.Queue() {
+ for repoIDStr := range hookQueue.Queue() {
log.Trace("DeliverHooks [repo_id: %v]", repoIDStr)
- HookQueue.Remove(repoIDStr)
+ hookQueue.Remove(repoIDStr)
repoID, err := com.StrTo(repoIDStr).Int64()
if err != nil {
diff --git a/modules/webhook/webhook.go b/modules/webhook/webhook.go
index da88c58c88..623a475df9 100644
--- a/modules/webhook/webhook.go
+++ b/modules/webhook/webhook.go
@@ -20,8 +20,8 @@ import (
"github.com/gobwas/glob"
)
-// HookQueue is a global queue of web hooks
-var HookQueue = sync.NewUniqueQueue(setting.Webhook.QueueLength)
+// hookQueue is a global queue of web hooks
+var hookQueue = sync.NewUniqueQueue(setting.Webhook.QueueLength)
// getPayloadBranch returns branch for hook event, if applicable.
func getPayloadBranch(p api.Payloader) string {
@@ -44,7 +44,12 @@ func getPayloadBranch(p api.Payloader) string {
// PrepareWebhook adds special webhook to task queue for given payload.
func PrepareWebhook(w *models.Webhook, repo *models.Repository, event models.HookEventType, p api.Payloader) error {
- return prepareWebhook(w, repo, event, p)
+ if err := prepareWebhook(w, repo, event, p); err != nil {
+ return err
+ }
+
+ go hookQueue.Add(repo.ID)
+ return nil
}
func checkBranch(w *models.Webhook, branch string) bool {
@@ -147,7 +152,12 @@ func prepareWebhook(w *models.Webhook, repo *models.Repository, event models.Hoo
// PrepareWebhooks adds new webhooks to task queue for given payload.
func PrepareWebhooks(repo *models.Repository, event models.HookEventType, p api.Payloader) error {
- return prepareWebhooks(repo, event, p)
+ if err := prepareWebhooks(repo, event, p); err != nil {
+ return err
+ }
+
+ go hookQueue.Add(repo.ID)
+ return nil
}
func prepareWebhooks(repo *models.Repository, event models.HookEventType, p api.Payloader) error {
diff --git a/routers/api/v1/repo/hook.go b/routers/api/v1/repo/hook.go
index 56fc514508..18f1fba056 100644
--- a/routers/api/v1/repo/hook.go
+++ b/routers/api/v1/repo/hook.go
@@ -137,7 +137,7 @@ func TestHook(ctx *context.APIContext) {
ctx.Error(500, "PrepareWebhook: ", err)
return
}
- go webhook.HookQueue.Add(ctx.Repo.Repository.ID)
+
ctx.Status(204)
}
diff --git a/routers/repo/pull.go b/routers/repo/pull.go
index d28ee0cfaf..cb9c7c1164 100644
--- a/routers/repo/pull.go
+++ b/routers/repo/pull.go
@@ -23,7 +23,6 @@ import (
"code.gitea.io/gitea/modules/notification"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
- "code.gitea.io/gitea/modules/webhook"
"code.gitea.io/gitea/services/gitdiff"
pull_service "code.gitea.io/gitea/services/pull"
repo_service "code.gitea.io/gitea/services/repository"
@@ -824,7 +823,6 @@ func TriggerTask(ctx *context.Context) {
log.Trace("TriggerTask '%s/%s' by %s", repo.Name, branch, pusher.Name)
- go webhook.HookQueue.Add(repo.ID)
go pull_service.AddTestPullRequestTask(pusher, repo.ID, branch, true)
ctx.Status(202)
}
diff --git a/routers/repo/webhook.go b/routers/repo/webhook.go
index f89bce8190..a6bd3af264 100644
--- a/routers/repo/webhook.go
+++ b/routers/repo/webhook.go
@@ -869,7 +869,6 @@ func TestWebhook(ctx *context.Context) {
ctx.Flash.Error("PrepareWebhook: " + err.Error())
ctx.Status(500)
} else {
- go webhook.HookQueue.Add(ctx.Repo.Repository.ID)
ctx.Flash.Info(ctx.Tr("repo.settings.webhook.test_delivery_success"))
ctx.Status(200)
}
diff --git a/services/milestone/milestone.go b/services/milestone/milestone.go
index d6d18ad985..84e7fb30e2 100644
--- a/services/milestone/milestone.go
+++ b/services/milestone/milestone.go
@@ -53,8 +53,6 @@ func ChangeMilestoneAssign(issue *models.Issue, doer *models.User, oldMilestoneI
}
if err != nil {
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
- } else {
- go webhook.HookQueue.Add(issue.RepoID)
}
return nil
}
diff --git a/services/mirror/sync.go b/services/mirror/sync.go
index 1bf36f5760..a9ce189c03 100644
--- a/services/mirror/sync.go
+++ b/services/mirror/sync.go
@@ -28,10 +28,6 @@ func syncAction(opType models.ActionType, repo *models.Repository, refName strin
return fmt.Errorf("notifyWatchers: %v", err)
}
- defer func() {
- go webhook.HookQueue.Add(repo.ID)
- }()
-
return nil
}
diff --git a/services/pull/merge.go b/services/pull/merge.go
index f13638c292..4a2f4511c4 100644
--- a/services/pull/merge.go
+++ b/services/pull/merge.go
@@ -369,8 +369,6 @@ func Merge(pr *models.PullRequest, doer *models.User, baseGitRepo *git.Repositor
Sender: doer.APIFormat(),
}); err != nil {
log.Error("PrepareWebhooks: %v", err)
- } else {
- go webhook.HookQueue.Add(pr.Issue.Repo.ID)
}
return nil
diff --git a/services/pull/pull.go b/services/pull/pull.go
index 65b78f4101..0a4c4a7eee 100644
--- a/services/pull/pull.go
+++ b/services/pull/pull.go
@@ -50,8 +50,6 @@ func NewPullRequest(repo *models.Repository, pull *models.Issue, labelIDs []int6
Sender: pull.Poster.APIFormat(),
}); err != nil {
log.Error("PrepareWebhooks: %v", err)
- } else {
- go webhook.HookQueue.Add(repo.ID)
}
return nil
@@ -125,7 +123,6 @@ func AddTestPullRequestTask(doer *models.User, repoID int64, branch string, isSy
log.Error("PrepareWebhooks [pull_id: %v]: %v", pr.ID, err)
continue
}
- go webhook.HookQueue.Add(pr.Issue.Repo.ID)
}
}
diff --git a/services/pull/review.go b/services/pull/review.go
index cffe5da4dd..ffb7be82b2 100644
--- a/services/pull/review.go
+++ b/services/pull/review.go
@@ -56,7 +56,7 @@ func reviewHook(review *models.Review) error {
if err != nil {
return err
}
- if err := webhook.PrepareWebhooks(review.Issue.Repo, reviewHookType, &api.PullRequestPayload{
+ return webhook.PrepareWebhooks(review.Issue.Repo, reviewHookType, &api.PullRequestPayload{
Action: api.HookIssueSynchronized,
Index: review.Issue.Index,
PullRequest: pr.APIFormat(),
@@ -66,10 +66,5 @@ func reviewHook(review *models.Review) error {
Type: string(reviewHookType),
Content: review.Content,
},
- }); err != nil {
- return err
- }
- go webhook.HookQueue.Add(review.Issue.Repo.ID)
-
- return nil
+ })
}
diff --git a/services/release/release.go b/services/release/release.go
index 42db1f3417..a3f027c949 100644
--- a/services/release/release.go
+++ b/services/release/release.go
@@ -92,8 +92,6 @@ func CreateRelease(gitRepo *git.Repository, rel *models.Release, attachmentUUIDs
Sender: rel.Publisher.APIFormat(),
}); err != nil {
log.Error("PrepareWebhooks: %v", err)
- } else {
- go webhook.HookQueue.Add(rel.Repo.ID)
}
}
}
@@ -129,8 +127,6 @@ func UpdateRelease(doer *models.User, gitRepo *git.Repository, rel *models.Relea
Sender: doer.APIFormat(),
}); err1 != nil {
log.Error("PrepareWebhooks: %v", err)
- } else {
- go webhook.HookQueue.Add(rel.Repo.ID)
}
return err
@@ -195,8 +191,6 @@ func DeleteReleaseByID(id int64, doer *models.User, delTag bool) error {
Sender: doer.APIFormat(),
}); err != nil {
log.Error("PrepareWebhooks: %v", err)
- } else {
- go webhook.HookQueue.Add(rel.Repo.ID)
}
return nil