From 5b2d9333f1d06a15f11906b39c4867cc5d1c9448 Mon Sep 17 00:00:00 2001 From: John Olheiser <42128690+jolheiser@users.noreply.github.com> Date: Wed, 8 Jan 2020 17:10:34 -0600 Subject: [PATCH] Add HTML URL to API Issues (#9654) * Add HTML URL to API Issues Signed-off-by: jolheiser * Swagger Signed-off-by: jolheiser 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 d3e2ac611..4e37f65d1 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -10305,6 +10305,10 @@ "format": "date-time", "x-go-name": "Deadline" }, + "html_url": { + "type": "string", + "x-go-name": "HTMLURL" + }, "id": { "type": "integer", "format": "int64",