You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by zh...@apache.org on 2022/08/12 14:24:50 UTC

[incubator-devlake] branch main updated: fix: support jira server collect users

This is an automated email from the ASF dual-hosted git repository.

zhangliang2022 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 b31ec914  fix: support jira server collect users
b31ec914 is described below

commit b31ec914f586ee043af6be18bb734dcbb29d6c59
Author: jinzhu2002 <ji...@outlook.com>
AuthorDate: Fri Aug 12 22:24:25 2022 +0800

     fix: support jira server collect users
    
    * fix bug #2550
    
    * support jira server collect users
    
    * support jira server collect users
    
    * support jira server collect users
    
    * fix:support jira server collect users
    
    * fix(jira): support jira server collect users
    
    * fix: support jira server collect users
---
 plugins/jira/tasks/account_collector.go | 25 +++++++++++++++++++------
 plugins/jira/tasks/account_extractor.go |  1 +
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/plugins/jira/tasks/account_collector.go b/plugins/jira/tasks/account_collector.go
index 59fc4430..cf0036da 100644
--- a/plugins/jira/tasks/account_collector.go
+++ b/plugins/jira/tasks/account_collector.go
@@ -57,9 +57,12 @@ func CollectAccounts(taskCtx core.SubTaskContext) error {
 		return err
 	}
 	queryKey := "accountId"
+	urlTemplate := "api/2/user"
 	if data.JiraServerInfo.DeploymentType == models.DeploymentServer {
 		queryKey = "username"
+		urlTemplate = "api/2/user/search"
 	}
+
 	collector, err := helper.NewApiCollector(helper.ApiCollectorArgs{
 		RawDataSubTaskArgs: helper.RawDataSubTaskArgs{
 			Ctx: taskCtx,
@@ -71,7 +74,7 @@ func CollectAccounts(taskCtx core.SubTaskContext) error {
 		},
 		ApiClient:   data.ApiClient,
 		Input:       iterator,
-		UrlTemplate: "api/2/user",
+		UrlTemplate: urlTemplate,
 		Query: func(reqData *helper.RequestData) (url.Values, error) {
 			user := reqData.Input.(*models.JiraAccount)
 			query := url.Values{}
@@ -79,12 +82,22 @@ func CollectAccounts(taskCtx core.SubTaskContext) error {
 			return query, nil
 		},
 		ResponseParser: func(res *http.Response) ([]json.RawMessage, error) {
-			var result json.RawMessage
-			err := helper.UnmarshalResponse(res, &result)
-			if err != nil {
-				return nil, err
+			if data.JiraServerInfo.DeploymentType == models.DeploymentServer {
+				var results []json.RawMessage
+				err := helper.UnmarshalResponse(res, &results)
+				if err != nil {
+					return nil, err
+				}
+
+				return results, nil
+			} else {
+				var result json.RawMessage
+				err := helper.UnmarshalResponse(res, &result)
+				if err != nil {
+					return nil, err
+				}
+				return []json.RawMessage{result}, nil
 			}
-			return []json.RawMessage{result}, nil
 		},
 	})
 	if err != nil {
diff --git a/plugins/jira/tasks/account_extractor.go b/plugins/jira/tasks/account_extractor.go
index 9ff3b917..8da8e784 100644
--- a/plugins/jira/tasks/account_extractor.go
+++ b/plugins/jira/tasks/account_extractor.go
@@ -53,6 +53,7 @@ func ExtractAccounts(taskCtx core.SubTaskContext) error {
 				return nil, err
 			}
 			return []interface{}{user.ToToolLayer(data.Options.ConnectionId)}, nil
+
 		},
 	})