aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Kirisame <jim@lotlab.org>2022-11-14 00:57:52 +0800
committerGitHub <noreply@github.com>2022-11-13 11:57:52 -0500
commit0ace4cee3393cec821193977de0e6d71d6b5d560 (patch)
tree72846bce81c44c42a71f2874fb3a79873c486c85
parent6f3efdfe117b46978d449f9223394326e39067ce (diff)
downloadgitea-0ace4cee3393cec821193977de0e6d71d6b5d560.tar.gz
gitea-0ace4cee3393cec821193977de0e6d71d6b5d560.zip
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 <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
-rw-r--r--services/webhook/general.go9
1 files 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
}