Jira Rest Apis を使用してすべてのユーザーのリストを取得するにはどうすればよいですか?
私が試してみました:-
/rest/api/latest/user/search?username=
ここでは、空白のユーザー名文字列を使用してみましたが、完全なユーザー リストは返されません。ユーザー名の長さが少なくとも 1 である場合にのみ、いくつかの結果が得られます。
Jira REST API から完全なユーザー リストを取得するにはどうすればよいですか??
RestAPIにはこの機能はないと思います。私の知る限り、別の方法を選択する必要があります。たとえば、この質問JIRA SOAP API:ユーザーのリストを取得するように、 SoapAPIを使用して選択できます。別の方法は、DBに直接クエリを実行することです。
すべての文字を通過するループを作成し、別のループを作成して、名前がこの文字で始まる各ユーザーの結果を表示できます。このようなもの:
char[] ch = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int j = ch.length;
for (int i = 0; i < ch.length; i++)
{
System.out.print(Character.toString(Character.toUpperCase(ch[i])));
--j;
String projects = invokeGetMethod(auth, BASE_URL+"/rest/api/2/user/search?username="+Character.toString(ch[i]));
System.out.println(projects);
JSONArray projectArray = new JSONArray(projects);
for (int k = 0; k < projectArray.length(); k++) {
JSONObject proj = projectArray.getJSONObject(k);
System.out.println("Key:"+proj.getString("key"));
}
}
private static String invokeGetMethod(String auth, String url) throws AuthenticationException, ClientHandlerException {
Client client = Client.create();
WebResource webResource = client.resource(url);
ClientResponse response = webResource.header("Authorization", "Basic " + auth).type("application/json")
.accept("application/json").get(ClientResponse.class);
int statusCode = response.getStatus();
if (statusCode == 401) {
throw new AuthenticationException("Invalid Username or Password");
}
return response.getEntity(String.class);
}
jira-users で SOAP getGroup メソッドを使用して jira-users のメンバーを取得することがありますが、約 5K で一部のユーザーを見逃しているようで、JIRA 管理者ユーザーとして実行する必要があります。可能であれば、AD に直接アクセスすることをお勧めします。