mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Fix release URL in webhooks (#27182)
This commit is contained in:
		@@ -170,7 +170,7 @@ func (d *DingtalkPayload) Repository(p *api.RepositoryPayload) (api.Payloader, e
 | 
				
			|||||||
func (d *DingtalkPayload) Release(p *api.ReleasePayload) (api.Payloader, error) {
 | 
					func (d *DingtalkPayload) Release(p *api.ReleasePayload) (api.Payloader, error) {
 | 
				
			||||||
	text, _ := getReleasePayloadInfo(p, noneLinkFormatter, true)
 | 
						text, _ := getReleasePayloadInfo(p, noneLinkFormatter, true)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return createDingtalkPayload(text, text, "view release", p.Release.URL), nil
 | 
						return createDingtalkPayload(text, text, "view release", p.Release.HTMLURL), nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func createDingtalkPayload(title, text, singleTitle, singleURL string) *DingtalkPayload {
 | 
					func createDingtalkPayload(title, text, singleTitle, singleURL string) *DingtalkPayload {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -238,7 +238,7 @@ func TestDingTalkPayload(t *testing.T) {
 | 
				
			|||||||
		assert.Equal(t, "[test/repo] Release created: v1.0 by user1", pl.(*DingtalkPayload).ActionCard.Text)
 | 
							assert.Equal(t, "[test/repo] Release created: v1.0 by user1", pl.(*DingtalkPayload).ActionCard.Text)
 | 
				
			||||||
		assert.Equal(t, "[test/repo] Release created: v1.0 by user1", pl.(*DingtalkPayload).ActionCard.Title)
 | 
							assert.Equal(t, "[test/repo] Release created: v1.0 by user1", pl.(*DingtalkPayload).ActionCard.Title)
 | 
				
			||||||
		assert.Equal(t, "view release", pl.(*DingtalkPayload).ActionCard.SingleTitle)
 | 
							assert.Equal(t, "view release", pl.(*DingtalkPayload).ActionCard.SingleTitle)
 | 
				
			||||||
		assert.Equal(t, "http://localhost:3000/api/v1/repos/test/repo/releases/2", parseRealSingleURL(pl.(*DingtalkPayload).ActionCard.SingleURL))
 | 
							assert.Equal(t, "http://localhost:3000/test/repo/releases/tag/v1.0", parseRealSingleURL(pl.(*DingtalkPayload).ActionCard.SingleURL))
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -253,7 +253,7 @@ func (d *DiscordPayload) Wiki(p *api.WikiPayload) (api.Payloader, error) {
 | 
				
			|||||||
func (d *DiscordPayload) Release(p *api.ReleasePayload) (api.Payloader, error) {
 | 
					func (d *DiscordPayload) Release(p *api.ReleasePayload) (api.Payloader, error) {
 | 
				
			||||||
	text, color := getReleasePayloadInfo(p, noneLinkFormatter, false)
 | 
						text, color := getReleasePayloadInfo(p, noneLinkFormatter, false)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return d.createPayload(p.Sender, text, p.Release.Note, p.Release.URL, color), nil
 | 
						return d.createPayload(p.Sender, text, p.Release.Note, p.Release.HTMLURL, color), nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetDiscordPayload converts a discord webhook into a DiscordPayload
 | 
					// GetDiscordPayload converts a discord webhook into a DiscordPayload
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -270,7 +270,7 @@ func TestDiscordPayload(t *testing.T) {
 | 
				
			|||||||
		assert.Len(t, pl.(*DiscordPayload).Embeds, 1)
 | 
							assert.Len(t, pl.(*DiscordPayload).Embeds, 1)
 | 
				
			||||||
		assert.Equal(t, "[test/repo] Release created: v1.0", pl.(*DiscordPayload).Embeds[0].Title)
 | 
							assert.Equal(t, "[test/repo] Release created: v1.0", pl.(*DiscordPayload).Embeds[0].Title)
 | 
				
			||||||
		assert.Equal(t, "Note of first stable release", pl.(*DiscordPayload).Embeds[0].Description)
 | 
							assert.Equal(t, "Note of first stable release", pl.(*DiscordPayload).Embeds[0].Description)
 | 
				
			||||||
		assert.Equal(t, "http://localhost:3000/api/v1/repos/test/repo/releases/2", pl.(*DiscordPayload).Embeds[0].URL)
 | 
							assert.Equal(t, "http://localhost:3000/test/repo/releases/tag/v1.0", pl.(*DiscordPayload).Embeds[0].URL)
 | 
				
			||||||
		assert.Equal(t, p.Sender.UserName, pl.(*DiscordPayload).Embeds[0].Author.Name)
 | 
							assert.Equal(t, p.Sender.UserName, pl.(*DiscordPayload).Embeds[0].Author.Name)
 | 
				
			||||||
		assert.Equal(t, setting.AppURL+p.Sender.UserName, pl.(*DiscordPayload).Embeds[0].Author.URL)
 | 
							assert.Equal(t, setting.AppURL+p.Sender.UserName, pl.(*DiscordPayload).Embeds[0].Author.URL)
 | 
				
			||||||
		assert.Equal(t, p.Sender.AvatarURL, pl.(*DiscordPayload).Embeds[0].Author.IconURL)
 | 
							assert.Equal(t, p.Sender.AvatarURL, pl.(*DiscordPayload).Embeds[0].Author.IconURL)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -240,7 +240,7 @@ func pullReleaseTestPayload() *api.ReleasePayload {
 | 
				
			|||||||
			Target:  "master",
 | 
								Target:  "master",
 | 
				
			||||||
			Title:   "First stable release",
 | 
								Title:   "First stable release",
 | 
				
			||||||
			Note:    "Note of first stable release",
 | 
								Note:    "Note of first stable release",
 | 
				
			||||||
			URL:     "http://localhost:3000/api/v1/repos/test/repo/releases/2",
 | 
								HTMLURL: "http://localhost:3000/test/repo/releases/tag/v1.0",
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -177,7 +177,7 @@ func (m *MatrixPayload) PullRequest(p *api.PullRequestPayload) (api.Payloader, e
 | 
				
			|||||||
func (m *MatrixPayload) Review(p *api.PullRequestPayload, event webhook_module.HookEventType) (api.Payloader, error) {
 | 
					func (m *MatrixPayload) Review(p *api.PullRequestPayload, event webhook_module.HookEventType) (api.Payloader, error) {
 | 
				
			||||||
	senderLink := MatrixLinkFormatter(setting.AppURL+url.PathEscape(p.Sender.UserName), p.Sender.UserName)
 | 
						senderLink := MatrixLinkFormatter(setting.AppURL+url.PathEscape(p.Sender.UserName), p.Sender.UserName)
 | 
				
			||||||
	title := fmt.Sprintf("#%d %s", p.Index, p.PullRequest.Title)
 | 
						title := fmt.Sprintf("#%d %s", p.Index, p.PullRequest.Title)
 | 
				
			||||||
	titleLink := MatrixLinkFormatter(p.PullRequest.URL, title)
 | 
						titleLink := MatrixLinkFormatter(p.PullRequest.HTMLURL, title)
 | 
				
			||||||
	repoLink := MatrixLinkFormatter(p.Repository.HTMLURL, p.Repository.FullName)
 | 
						repoLink := MatrixLinkFormatter(p.Repository.HTMLURL, p.Repository.FullName)
 | 
				
			||||||
	var text string
 | 
						var text string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -290,7 +290,7 @@ func (m *MSTeamsPayload) Release(p *api.ReleasePayload) (api.Payloader, error) {
 | 
				
			|||||||
		p.Sender,
 | 
							p.Sender,
 | 
				
			||||||
		title,
 | 
							title,
 | 
				
			||||||
		"",
 | 
							"",
 | 
				
			||||||
		p.Release.URL,
 | 
							p.Release.HTMLURL,
 | 
				
			||||||
		color,
 | 
							color,
 | 
				
			||||||
		&MSTeamsFact{"Tag:", p.Release.TagName},
 | 
							&MSTeamsFact{"Tag:", p.Release.TagName},
 | 
				
			||||||
	), nil
 | 
						), nil
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -429,7 +429,7 @@ func TestMSTeamsPayload(t *testing.T) {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		assert.Len(t, pl.(*MSTeamsPayload).PotentialAction, 1)
 | 
							assert.Len(t, pl.(*MSTeamsPayload).PotentialAction, 1)
 | 
				
			||||||
		assert.Len(t, pl.(*MSTeamsPayload).PotentialAction[0].Targets, 1)
 | 
							assert.Len(t, pl.(*MSTeamsPayload).PotentialAction[0].Targets, 1)
 | 
				
			||||||
		assert.Equal(t, "http://localhost:3000/api/v1/repos/test/repo/releases/2", pl.(*MSTeamsPayload).PotentialAction[0].Targets[0].URI)
 | 
							assert.Equal(t, "http://localhost:3000/test/repo/releases/tag/v1.0", pl.(*MSTeamsPayload).PotentialAction[0].Targets[0].URI)
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -223,7 +223,7 @@ func (s *SlackPayload) PullRequest(p *api.PullRequestPayload) (api.Payloader, er
 | 
				
			|||||||
		attachments = append(attachments, SlackAttachment{
 | 
							attachments = append(attachments, SlackAttachment{
 | 
				
			||||||
			Color:     fmt.Sprintf("%x", color),
 | 
								Color:     fmt.Sprintf("%x", color),
 | 
				
			||||||
			Title:     issueTitle,
 | 
								Title:     issueTitle,
 | 
				
			||||||
			TitleLink: p.PullRequest.URL,
 | 
								TitleLink: p.PullRequest.HTMLURL,
 | 
				
			||||||
			Text:      attachmentText,
 | 
								Text:      attachmentText,
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user