You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by kl...@apache.org on 2023/02/06 06:00:31 UTC
[incubator-devlake] branch main updated: fix: fix jira issue url (#4328)
This is an automated email from the ASF dual-hosted git repository.
klesh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/main by this push:
new a58b109e8 fix: fix jira issue url (#4328)
a58b109e8 is described below
commit a58b109e8c37c6c4fe4ec0df5a42fddb174cdec8
Author: mindlesscloud <li...@merico.dev>
AuthorDate: Mon Feb 6 14:00:25 2023 +0800
fix: fix jira issue url (#4328)
---
backend/plugins/jira/tasks/issue_convertor.go | 15 +++++++++------
backend/plugins/jira/tasks/issue_convertor_test.go | 10 ++++++++++
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/backend/plugins/jira/tasks/issue_convertor.go b/backend/plugins/jira/tasks/issue_convertor.go
index b726b0cb2..143503a29 100644
--- a/backend/plugins/jira/tasks/issue_convertor.go
+++ b/backend/plugins/jira/tasks/issue_convertor.go
@@ -18,6 +18,11 @@ limitations under the License.
package tasks
import (
+ "net/url"
+ "path/filepath"
+ "reflect"
+ "strings"
+
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/models/domainlayer"
@@ -26,9 +31,6 @@ import (
"github.com/apache/incubator-devlake/core/plugin"
"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/jira/models"
- "net/url"
- "path/filepath"
- "reflect"
)
var ConvertIssuesMeta = plugin.SubTaskMeta{
@@ -48,8 +50,8 @@ func ConvertIssues(taskCtx plugin.SubTaskContext) errors.Error {
clauses := []dal.Clause{
dal.Select("_tool_jira_issues.*"),
dal.From(jiraIssue),
- dal.Join(`left join _tool_jira_board_issues
- on _tool_jira_board_issues.issue_id = _tool_jira_issues.issue_id
+ dal.Join(`left join _tool_jira_board_issues
+ on _tool_jira_board_issues.issue_id = _tool_jira_issues.issue_id
and _tool_jira_board_issues.connection_id = _tool_jira_issues.connection_id`),
dal.Where(
"_tool_jira_board_issues.connection_id = ? AND _tool_jira_board_issues.board_id = ?",
@@ -141,6 +143,7 @@ func convertURL(api, issueKey string) string {
if err != nil {
return api
}
- u.Path = filepath.Join("/browse", issueKey)
+ before, _, _ := strings.Cut(u.Path, "/rest/agile/1.0/issue")
+ u.Path = filepath.Join(before, "browse", issueKey)
return u.String()
}
diff --git a/backend/plugins/jira/tasks/issue_convertor_test.go b/backend/plugins/jira/tasks/issue_convertor_test.go
index 88f4b531d..674a7591a 100644
--- a/backend/plugins/jira/tasks/issue_convertor_test.go
+++ b/backend/plugins/jira/tasks/issue_convertor_test.go
@@ -39,6 +39,16 @@ func Test_convertURL(t *testing.T) {
args{"http://8.142.68.162:8080/rest/agile/1.0/issue/10003", "TEST-4"},
"http://8.142.68.162:8080/browse/TEST-4",
},
+ {
+ "",
+ args{"http://8.142.68.162:8080/prefix/rest/agile/1.0/issue/10003", "TEST-4"},
+ "http://8.142.68.162:8080/prefix/browse/TEST-4",
+ },
+ {
+ "",
+ args{"http://8.142.68.162:8080/prefix1/prefix2/rest/agile/1.0/issue/10003", "TEST-4"},
+ "http://8.142.68.162:8080/prefix1/prefix2/browse/TEST-4",
+ },
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {