diff --git a/services/webhook/bark.go b/services/webhook/bark.go index 00d9a2d9e4..2742891aee 100644 --- a/services/webhook/bark.go +++ b/services/webhook/bark.go @@ -230,10 +230,10 @@ func (bc barkConvertor) Repository(p *api.RepositoryPayload) (BarkPayload, error switch p.Action { case api.HookRepoCreated: title = fmt.Sprintf("[%s] Repository created", p.Repository.FullName) - body = p.Sender.UserName + "created repository" + body = p.Sender.UserName + " created repository" case api.HookRepoDeleted: title = fmt.Sprintf("[%s] Repository deleted", p.Repository.FullName) - body = p.Sender.UserName + "deleted repository" + body = p.Sender.UserName + " deleted repository" default: return BarkPayload{}, nil } @@ -266,7 +266,12 @@ func (bc barkConvertor) Release(p *api.ReleasePayload) (BarkPayload, error) { // Package implements PayloadConvertor Package method func (bc barkConvertor) Package(p *api.PackagePayload) (BarkPayload, error) { - title := fmt.Sprintf("[%s] Package %s", p.Repository.FullName, p.Action) + repoFullName := "" + if p.Repository != nil { + repoFullName = p.Repository.FullName + } + + title := fmt.Sprintf("[%s] Package %s", repoFullName, p.Action) body := fmt.Sprintf("%s %s package %s:%s", p.Sender.UserName, p.Action, p.Package.Name, p.Package.Version) @@ -274,7 +279,7 @@ func (bc barkConvertor) Package(p *api.PackagePayload) (BarkPayload, error) { Title: title, Body: body, URL: p.Package.HTMLURL, - Group: bc.getGroup(p.Repository.FullName), + Group: bc.getGroup(repoFullName), Sound: bc.Sound, }, nil } diff --git a/services/webhook/bark_test.go b/services/webhook/bark_test.go index 5d5eea0de2..821f8974cc 100644 --- a/services/webhook/bark_test.go +++ b/services/webhook/bark_test.go @@ -124,6 +124,7 @@ func TestBarkPayload(t *testing.T) { t.Run("Review", func(t *testing.T) { p := pullRequestTestPayload() p.Action = api.HookIssueReviewed + p.Review = nil // Remove review content for clean test pl, err := bc.Review(p, webhook_module.HookEventPullRequestReviewApproved) require.NoError(t, err) @@ -152,9 +153,9 @@ func TestBarkPayload(t *testing.T) { pl, err := bc.Package(p) require.NoError(t, err) - assert.Equal(t, "[test/repo] Package published", pl.Title) - assert.Contains(t, pl.Body, "user1 published package") - assert.Equal(t, "test/repo", pl.Group) + assert.Equal(t, "[] Package created", pl.Title) + assert.Contains(t, pl.Body, "user1 created package") + assert.Empty(t, pl.Group) }) t.Run("Wiki", func(t *testing.T) {