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
+
},
})