diff options
author | KN4CK3R <admin@oldschoolhack.me> | 2022-10-16 18:22:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-17 00:22:34 +0800 |
commit | cad9adeff41595ea32281dbc2918e653c3e3a839 (patch) | |
tree | a62bf796f12655c85323ded8922c6ea1d5e256ed /services | |
parent | 6f48a36227b7427afd2020aa416afe49d4c81015 (diff) | |
download | gitea-cad9adeff41595ea32281dbc2918e653c3e3a839.tar.gz gitea-cad9adeff41595ea32281dbc2918e653c3e3a839.zip |
Display total commit count in hook message (#21400)
Fixes #21379
The commits are capped by `setting.UI.FeedMaxCommitNum` so
`len(commits)` is not the correct number. So this PR adds a new
`TotalCommits` field.
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'services')
-rw-r--r-- | services/webhook/dingtalk.go | 8 | ||||
-rw-r--r-- | services/webhook/dingtalk_test.go | 2 | ||||
-rw-r--r-- | services/webhook/discord.go | 4 | ||||
-rw-r--r-- | services/webhook/general_test.go | 13 | ||||
-rw-r--r-- | services/webhook/matrix.go | 4 | ||||
-rw-r--r-- | services/webhook/msteams.go | 6 | ||||
-rw-r--r-- | services/webhook/slack.go | 4 | ||||
-rw-r--r-- | services/webhook/telegram.go | 4 | ||||
-rw-r--r-- | services/webhook/wechatwork.go | 2 |
9 files changed, 24 insertions, 23 deletions
diff --git a/services/webhook/dingtalk.go b/services/webhook/dingtalk.go index 5112bdb347..e047e994c2 100644 --- a/services/webhook/dingtalk.go +++ b/services/webhook/dingtalk.go @@ -67,14 +67,14 @@ func (d *DingtalkPayload) Push(p *api.PushPayload) (api.Payloader, error) { ) var titleLink, linkText string - if len(p.Commits) == 1 { + if p.TotalCommits == 1 { commitDesc = "1 new commit" titleLink = p.Commits[0].URL - linkText = fmt.Sprintf("view commit %s", p.Commits[0].ID[:7]) + linkText = "view commit" } else { - commitDesc = fmt.Sprintf("%d new commits", len(p.Commits)) + commitDesc = fmt.Sprintf("%d new commits", p.TotalCommits) titleLink = p.CompareURL - linkText = fmt.Sprintf("view commit %s...%s", p.Commits[0].ID[:7], p.Commits[len(p.Commits)-1].ID[:7]) + linkText = "view commits" } if titleLink == "" { titleLink = p.Repo.HTMLURL + "/src/" + util.PathEscapeSegments(branchName) diff --git a/services/webhook/dingtalk_test.go b/services/webhook/dingtalk_test.go index efc9601c12..fc15380f4d 100644 --- a/services/webhook/dingtalk_test.go +++ b/services/webhook/dingtalk_test.go @@ -82,7 +82,7 @@ func TestDingTalkPayload(t *testing.T) { assert.Equal(t, "[2020558](http://localhost:3000/test/repo/commit/2020558fe2e34debb818a514715839cabd25e778) commit message - user1\r\n[2020558](http://localhost:3000/test/repo/commit/2020558fe2e34debb818a514715839cabd25e778) commit message - user1", pl.(*DingtalkPayload).ActionCard.Text) assert.Equal(t, "[test/repo:test] 2 new commits", pl.(*DingtalkPayload).ActionCard.Title) - assert.Equal(t, "view commit 2020558...2020558", pl.(*DingtalkPayload).ActionCard.SingleTitle) + assert.Equal(t, "view commits", pl.(*DingtalkPayload).ActionCard.SingleTitle) assert.Equal(t, "http://localhost:3000/test/repo/src/test", parseRealSingleURL(pl.(*DingtalkPayload).ActionCard.SingleURL)) }) diff --git a/services/webhook/discord.go b/services/webhook/discord.go index 7b6f0f0b1d..22d75db893 100644 --- a/services/webhook/discord.go +++ b/services/webhook/discord.go @@ -142,11 +142,11 @@ func (d *DiscordPayload) Push(p *api.PushPayload) (api.Payloader, error) { ) var titleLink string - if len(p.Commits) == 1 { + if p.TotalCommits == 1 { commitDesc = "1 new commit" titleLink = p.Commits[0].URL } else { - commitDesc = fmt.Sprintf("%d new commits", len(p.Commits)) + commitDesc = fmt.Sprintf("%d new commits", p.TotalCommits) titleLink = p.CompareURL } if titleLink == "" { diff --git a/services/webhook/general_test.go b/services/webhook/general_test.go index 4acf51ac71..da3123d3ab 100644 --- a/services/webhook/general_test.go +++ b/services/webhook/general_test.go @@ -82,12 +82,13 @@ func pushTestPayload() *api.PushPayload { } return &api.PushPayload{ - Ref: "refs/heads/test", - Before: "2020558fe2e34debb818a514715839cabd25e777", - After: "2020558fe2e34debb818a514715839cabd25e778", - CompareURL: "", - HeadCommit: commit, - Commits: []*api.PayloadCommit{commit, commit}, + Ref: "refs/heads/test", + Before: "2020558fe2e34debb818a514715839cabd25e777", + After: "2020558fe2e34debb818a514715839cabd25e778", + CompareURL: "", + HeadCommit: commit, + Commits: []*api.PayloadCommit{commit, commit}, + TotalCommits: 2, Repo: &api.Repository{ HTMLURL: "http://localhost:3000/test/repo", Name: "repo", diff --git a/services/webhook/matrix.go b/services/webhook/matrix.go index 59eae48307..6bbae70422 100644 --- a/services/webhook/matrix.go +++ b/services/webhook/matrix.go @@ -161,10 +161,10 @@ func (m *MatrixPayloadUnsafe) Release(p *api.ReleasePayload) (api.Payloader, err func (m *MatrixPayloadUnsafe) Push(p *api.PushPayload) (api.Payloader, error) { var commitDesc string - if len(p.Commits) == 1 { + if p.TotalCommits == 1 { commitDesc = "1 commit" } else { - commitDesc = fmt.Sprintf("%d commits", len(p.Commits)) + commitDesc = fmt.Sprintf("%d commits", p.TotalCommits) } repoLink := MatrixLinkFormatter(p.Repo.HTMLURL, p.Repo.FullName) diff --git a/services/webhook/msteams.go b/services/webhook/msteams.go index 1406004781..bf9e95edc5 100644 --- a/services/webhook/msteams.go +++ b/services/webhook/msteams.go @@ -125,11 +125,11 @@ func (m *MSTeamsPayload) Push(p *api.PushPayload) (api.Payloader, error) { ) var titleLink string - if len(p.Commits) == 1 { + if p.TotalCommits == 1 { commitDesc = "1 new commit" titleLink = p.Commits[0].URL } else { - commitDesc = fmt.Sprintf("%d new commits", len(p.Commits)) + commitDesc = fmt.Sprintf("%d new commits", p.TotalCommits) titleLink = p.CompareURL } if titleLink == "" { @@ -156,7 +156,7 @@ func (m *MSTeamsPayload) Push(p *api.PushPayload) (api.Payloader, error) { text, titleLink, greenColor, - &MSTeamsFact{"Commit count:", fmt.Sprintf("%d", len(p.Commits))}, + &MSTeamsFact{"Commit count:", fmt.Sprintf("%d", p.TotalCommits)}, ), nil } diff --git a/services/webhook/slack.go b/services/webhook/slack.go index 63cc6f8ca2..f5c69d74b6 100644 --- a/services/webhook/slack.go +++ b/services/webhook/slack.go @@ -179,10 +179,10 @@ func (s *SlackPayload) Push(p *api.PushPayload) (api.Payloader, error) { commitString string ) - if len(p.Commits) == 1 { + if p.TotalCommits == 1 { commitDesc = "1 new commit" } else { - commitDesc = fmt.Sprintf("%d new commits", len(p.Commits)) + commitDesc = fmt.Sprintf("%d new commits", p.TotalCommits) } if len(p.CompareURL) > 0 { commitString = SlackLinkFormatter(p.CompareURL, commitDesc) diff --git a/services/webhook/telegram.go b/services/webhook/telegram.go index 13471d864e..7ca5f61062 100644 --- a/services/webhook/telegram.go +++ b/services/webhook/telegram.go @@ -89,11 +89,11 @@ func (t *TelegramPayload) Push(p *api.PushPayload) (api.Payloader, error) { ) var titleLink string - if len(p.Commits) == 1 { + if p.TotalCommits == 1 { commitDesc = "1 new commit" titleLink = p.Commits[0].URL } else { - commitDesc = fmt.Sprintf("%d new commits", len(p.Commits)) + commitDesc = fmt.Sprintf("%d new commits", p.TotalCommits) titleLink = p.CompareURL } if titleLink == "" { diff --git a/services/webhook/wechatwork.go b/services/webhook/wechatwork.go index bd4c3e0851..5344ccaa22 100644 --- a/services/webhook/wechatwork.go +++ b/services/webhook/wechatwork.go @@ -93,7 +93,7 @@ func (f *WechatworkPayload) Push(p *api.PushPayload) (api.Payloader, error) { for i, commit := range p.Commits { var authorName string if commit.Author != nil { - authorName = "Author:" + commit.Author.Name + authorName = "Author: " + commit.Author.Name } message := strings.ReplaceAll(commit.Message, "\n\n", "\r\n") |