]> source.dussan.org Git - gitea.git/commitdiff
Cause NotifyMigrateRepository to emit a repo create webhook (#14004)
authorzeripath <art27@cantab.net>
Thu, 17 Dec 2020 12:26:22 +0000 (12:26 +0000)
committerGitHub <noreply@github.com>
Thu, 17 Dec 2020 12:26:22 +0000 (13:26 +0100)
* Cause NotifyMigrateRepository to emit a repo create webhook

This PR simply makes NotifyMigrateRepository emit a Create Repo webhook.
The reason for no new payload is that the information sent to
NotifyMigrateRepository is only essentially the same as
NotifyCreateRepository

Fix #13996

Signed-off-by: Andrew Thornton <art27@cantab.net>
modules/notification/webhook/webhook.go

index 2a06eba2190599fc6b4a911f35cecd42a34422f4..4b159f6248142b5c1b44ffefdf78eb7d8d374a99 100644 (file)
@@ -122,6 +122,18 @@ func (m *webhookNotifier) NotifyDeleteRepository(doer *models.User, repo *models
        }
 }
 
+func (m *webhookNotifier) NotifyMigrateRepository(doer *models.User, u *models.User, repo *models.Repository) {
+       // Add to hook queue for created repo after session commit.
+       if err := webhook_services.PrepareWebhooks(repo, models.HookEventRepository, &api.RepositoryPayload{
+               Action:       api.HookRepoCreated,
+               Repository:   convert.ToRepo(repo, models.AccessModeOwner),
+               Organization: convert.ToUser(u, false, false),
+               Sender:       convert.ToUser(doer, false, false),
+       }); err != nil {
+               log.Error("PrepareWebhooks [repo_id: %d]: %v", repo.ID, err)
+       }
+}
+
 func (m *webhookNotifier) NotifyIssueChangeAssignee(doer *models.User, issue *models.Issue, assignee *models.User, removed bool, comment *models.Comment) {
        if issue.IsPull {
                mode, _ := models.AccessLevelUnit(doer, issue.Repo, models.UnitTypePullRequests)