mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
PLT-7758: jira url fix (#7536)
* jira url fix * whoops, forgot a file (the test file)
This commit is contained in:
@@ -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
|
||||
|
||||
16
app/plugin/jira/webhook_test.go
Normal file
16
app/plugin/jira/webhook_test.go
Normal file
@@ -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())
|
||||
}
|
||||
Reference in New Issue
Block a user