From b0fcdd1b4cfb90e8e728ae19b0081d93cdf51257 Mon Sep 17 00:00:00 2001 From: Alex Polozov Date: Mon, 11 Jan 2016 16:44:18 -0800 Subject: Parse Slack links in the attachment fields --- api/post.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'api/post.go') diff --git a/api/post.go b/api/post.go index fd0e37f29..1ca198d6f 100644 --- a/api/post.go +++ b/api/post.go @@ -191,6 +191,22 @@ func CreateWebhookPost(c *Context, channelId, text, overrideUsername, overrideIc attachment["pretext"] = aText list[i] = attachment } + if fVal, ok := attachment["fields"]; ok { + if fields, ok := fVal.([]interface{}); ok { + // parse attachment field links into Markdown format + for j, fInt := range fields { + field := fInt.(map[string]interface{}) + if _, ok := field["text"]; ok { + fText := field["text"].(string) + fText = linkWithTextRegex.ReplaceAllString(fText, "[${2}](${1})") + field["text"] = fText + fields[j] = field + } + } + attachment["fields"] = fields + list[i] = attachment + } + } } post.AddProp(key, list) } -- cgit v1.2.3-1-g7c22