From 04a77b1f42c64baf33388337839f05be63b8bb77 Mon Sep 17 00:00:00 2001 From: John Olheiser <42128690+jolheiser@users.noreply.github.com> Date: Thu, 9 Jan 2020 00:07:21 -0600 Subject: [PATCH] Add HTML URL to API Issues (#9654) (#9661) * Add HTML URL to API Issues Signed-off-by: jolheiser * Swagger Signed-off-by: jolheiser Co-authored-by: Lauris BH Co-authored-by: Lauris BH --- models/issue.go | 1 + modules/structs/issue.go | 1 + modules/webhook/dingtalk.go | 2 +- modules/webhook/discord.go | 2 +- modules/webhook/msteams.go | 2 +- modules/webhook/slack.go | 2 +- templates/swagger/v1_json.tmpl | 4 ++++ 7 files changed, 10 insertions(+), 4 deletions(-) diff --git a/models/issue.go b/models/issue.go index 485be4bae..3986aeee1 100644 --- a/models/issue.go +++ b/models/issue.go @@ -381,6 +381,7 @@ func (issue *Issue) apiFormat(e Engine) *api.Issue { apiIssue := &api.Issue{ ID: issue.ID, URL: issue.APIURL(), + HTMLURL: issue.HTMLURL(), Index: issue.Index, Poster: issue.Poster.APIFormat(), Title: issue.Title, diff --git a/modules/structs/issue.go b/modules/structs/issue.go index cc640edab..49a7dc6d6 100644 --- a/modules/structs/issue.go +++ b/modules/structs/issue.go @@ -38,6 +38,7 @@ type RepositoryMeta struct { type Issue struct { ID int64 `json:"id"` URL string `json:"url"` + HTMLURL string `json:"html_url"` Index int64 `json:"number"` Poster *User `json:"user"` OriginalAuthor string `json:"original_author"` diff --git a/modules/webhook/dingtalk.go b/modules/webhook/dingtalk.go index 0d569f412..fc99202a7 100644 --- a/modules/webhook/dingtalk.go +++ b/modules/webhook/dingtalk.go @@ -142,7 +142,7 @@ func getDingtalkIssuesPayload(p *api.IssuePayload) (*DingtalkPayload, error) { Title: issueTitle, HideAvatar: "0", SingleTitle: "view issue", - SingleURL: p.Issue.URL, + SingleURL: p.Issue.HTMLURL, }, }, nil } diff --git a/modules/webhook/discord.go b/modules/webhook/discord.go index c1e842122..732821c18 100644 --- a/modules/webhook/discord.go +++ b/modules/webhook/discord.go @@ -236,7 +236,7 @@ func getDiscordIssuesPayload(p *api.IssuePayload, meta *DiscordMeta) (*DiscordPa { Title: text, Description: attachmentText, - URL: p.Issue.URL, + URL: p.Issue.HTMLURL, Color: color, Author: DiscordEmbedAuthor{ Name: p.Sender.UserName, diff --git a/modules/webhook/msteams.go b/modules/webhook/msteams.go index b47725209..b9ceb5ee0 100644 --- a/modules/webhook/msteams.go +++ b/modules/webhook/msteams.go @@ -299,7 +299,7 @@ func getMSTeamsIssuesPayload(p *api.IssuePayload) (*MSTeamsPayload, error) { Targets: []MSTeamsActionTarget{ { Os: "default", - URI: p.Issue.URL, + URI: p.Issue.HTMLURL, }, }, }, diff --git a/modules/webhook/slack.go b/modules/webhook/slack.go index 11ad4c1b8..74361509d 100644 --- a/modules/webhook/slack.go +++ b/modules/webhook/slack.go @@ -158,7 +158,7 @@ func getSlackIssuesPayload(p *api.IssuePayload, slack *SlackMeta) (*SlackPayload pl.Attachments = []SlackAttachment{{ Color: fmt.Sprintf("%x", color), Title: issueTitle, - TitleLink: p.Issue.URL, + TitleLink: p.Issue.HTMLURL, Text: attachmentText, }} } diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index 45e84d3ed..519a273b4 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -10179,6 +10179,10 @@ "format": "date-time", "x-go-name": "Deadline" }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, "id": { "type": "integer", "format": "int64",