summaryrefslogtreecommitdiffstats
path: root/app/plugin
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-09-28 15:31:23 -0500
committerHarrison Healey <harrisonmhealey@gmail.com>2017-09-28 16:31:23 -0400
commitcb33179998c682bf1e48795d449d85f92cec97f7 (patch)
tree081dffdc262924c3afc4b62c39efef760c4d9f55 /app/plugin
parent6c73c1459316a0d4c50a5a8bd17b8aee91cdc841 (diff)
downloadchat-cb33179998c682bf1e48795d449d85f92cec97f7.tar.gz
chat-cb33179998c682bf1e48795d449d85f92cec97f7.tar.bz2
chat-cb33179998c682bf1e48795d449d85f92cec97f7.zip
PLT-7758: jira url fix (#7536)
* jira url fix * whoops, forgot a file (the test file)
Diffstat (limited to 'app/plugin')
-rw-r--r--app/plugin/jira/webhook.go16
-rw-r--r--app/plugin/jira/webhook_test.go16
2 files changed, 25 insertions, 7 deletions
diff --git a/app/plugin/jira/webhook.go b/app/plugin/jira/webhook.go
index 748362571..9798bcd9f 100644
--- a/app/plugin/jira/webhook.go
+++ b/app/plugin/jira/webhook.go
@@ -5,7 +5,6 @@ package jira
import (
"bytes"
- "net/url"
"strings"
"text/template"
@@ -130,12 +129,15 @@ func (w *Webhook) SlackAttachment() (*model.SlackAttachment, error) {
}, nil
}
-func (w *Webhook) renderText(tplBody string) (string, error) {
- issueSelf, err := url.Parse(w.Issue.Self)
- if err != nil {
- return "", err
+func (w *Webhook) JIRAURL() string {
+ pos := strings.LastIndex(w.Issue.Self, "/rest/api")
+ if pos < 0 {
+ return ""
}
- jiraURL := strings.TrimRight(issueSelf.ResolveReference(&url.URL{Path: "/"}).String(), "/")
+ return w.Issue.Self[:pos]
+}
+
+func (w *Webhook) renderText(tplBody string) (string, error) {
verb := strings.TrimPrefix(w.WebhookEvent, "jira:issue_")
if w.WebhookEvent == "jira:issue_updated" {
@@ -163,7 +165,7 @@ func (w *Webhook) renderText(tplBody string) (string, error) {
Verb string
}{
Webhook: w,
- JIRAURL: jiraURL,
+ JIRAURL: w.JIRAURL(),
Verb: verb,
}); err != nil {
return "", err
diff --git a/app/plugin/jira/webhook_test.go b/app/plugin/jira/webhook_test.go
new file mode 100644
index 000000000..25918657e
--- /dev/null
+++ b/app/plugin/jira/webhook_test.go
@@ -0,0 +1,16 @@
+package jira
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestWebhookJIRAURL(t *testing.T) {
+ var w Webhook
+ w.Issue.Self = "http://localhost:8080/rest/api/2/issue/10006"
+ assert.Equal(t, "http://localhost:8080", w.JIRAURL())
+
+ w.Issue.Self = "http://localhost:8080/foo/bar/rest/api/2/issue/10006"
+ assert.Equal(t, "http://localhost:8080/foo/bar", w.JIRAURL())
+}