From 0ace4cee3393cec821193977de0e6d71d6b5d560 Mon Sep 17 00:00:00 2001 From: Jim Kirisame Date: Mon, 14 Nov 2022 00:57:52 +0800 Subject: [PATCH] Fix webhook attachment text is not set in review comment (#21763) The `getPullRequestPayloadInfo` function is widely used in many webhook, it works well when PR is open or edit. But when we comment in PR review panel (not PR panel), the comment content is not set as `attachmentText`. This commit set comment content as `attachmentText` when PR review, so webhook could obtain this information via this function. Co-authored-by: Lunny Xiao Co-authored-by: techknowlogick --- services/webhook/general.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/services/webhook/general.go b/services/webhook/general.go index 5be177d339..f6ef673923 100644 --- a/services/webhook/general.go +++ b/services/webhook/general.go @@ -84,11 +84,13 @@ func getPullRequestPayloadInfo(p *api.PullRequestPayload, linkFormatter linkForm issueTitle := fmt.Sprintf("#%d %s", p.Index, p.PullRequest.Title) titleLink := linkFormatter(p.PullRequest.URL, issueTitle) var text string + var attachmentText string color := yellowColor switch p.Action { case api.HookIssueOpened: text = fmt.Sprintf("[%s] Pull request opened: %s", repoLink, titleLink) + attachmentText = p.PullRequest.Body color = greenColor case api.HookIssueClosed: if p.PullRequest.HasMerged { @@ -102,6 +104,7 @@ func getPullRequestPayloadInfo(p *api.PullRequestPayload, linkFormatter linkForm text = fmt.Sprintf("[%s] Pull request re-opened: %s", repoLink, titleLink) case api.HookIssueEdited: text = fmt.Sprintf("[%s] Pull request edited: %s", repoLink, titleLink) + attachmentText = p.PullRequest.Body case api.HookIssueAssigned: list := make([]string, len(p.PullRequest.Assignees)) for i, user := range p.PullRequest.Assignees { @@ -126,16 +129,12 @@ func getPullRequestPayloadInfo(p *api.PullRequestPayload, linkFormatter linkForm text = fmt.Sprintf("[%s] Pull request milestone cleared: %s", repoLink, titleLink) case api.HookIssueReviewed: text = fmt.Sprintf("[%s] Pull request reviewed: %s", repoLink, titleLink) + attachmentText = p.Review.Content } if withSender { text += fmt.Sprintf(" by %s", linkFormatter(setting.AppURL+p.Sender.UserName, p.Sender.UserName)) } - var attachmentText string - if p.Action == api.HookIssueOpened || p.Action == api.HookIssueEdited { - attachmentText = p.PullRequest.Body - } - return text, issueTitle, attachmentText, color }