JIRA REST API获取所有用户

时间:2014-10-11 14:47:16

标签: rest jira jira-rest-api

我正在尝试从 JIRA REST API 获取所有用户。我需要从我自己的Java客户端将所有用户保存到我的数据库中。 可以这样做吗?

如果是这样我们将如何做到这一点?

7 个答案:

答案 0 :(得分:5)

似乎有一种无证的方式:

使用“查找用户”api

https://docs.atlassian.com/jira/REST/latest/#api/2/user-findUsers

对于用户名查询,请使用%

EG: /休息/ API / 2 /用户/搜索?用户名=%

答案 1 :(得分:2)

您可以获得可分配给特定项目的所有用户。如果每个人都可分配,您将获得所有用户。

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View view =  inflater.inflate(R.layout.fragment_three_layout,container,false);
TextView tv = (TextView) view.findViewById(R.id.start);
  tv.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
           Intent intent = new Intent(getActivity(), MainActivity.class);
           startActivity(intent);

        }
    }); return view;
    }

卷曲:

/rest/api/2/user/assignable/search?project=PROJECT

答案 2 :(得分:1)

没有直接的方法来获取Jira Rest API中的所有用户。如果您有用户在Jira应用程序中轻松分组,则可能必须使用搜索功能(需要传入至少一个字母进行搜索)或组功能。

浏览他们的文档以获得更好的参考。

https://docs.atlassian.com/jira/REST/latest/#d2e2

https://docs.atlassian.com/jira/REST/latest/#d2e808

您可以使用简单的JDBC脚本来创建一些高级脚本,以便通过您的Java客户端将用户列表写入数据库。

希望这有帮助!

答案 3 :(得分:0)

现在,要获取JIRA实例的所有云用户,我们必须使用以下REST端点,

https://www.example.atlassian.net/rest/api/2/user/search?query=%

请注意,查询参数将搜索所有属性中的匹配项,包括显示名称,电子邮件地址,昵称等。此更改已在用户隐私政策下推出,以使JIRA GDPR兼容。

有关更多信息,请参见this官方文件。

答案 4 :(得分:0)

获取JIRA实例中的所有用户的一种可能方法是使用Crowd API的/rest/usermanagement/1/search端点:

curl -X GET \
  'https://jira.url/rest/usermanagement/1/search?entity-type=user&start-index=0&max-results=1000&expand=user' \
  -H 'Accept: application/json' -u username:password

请注意,您需要创建一个[新JIRA用户服务器条目] [3],以创建供应用程序在其REST API调用中使用的人群凭证(上述username:password参数):

  • 转到用户管理。
  • 选择JIRA用户服务器。
  • 添加应用程序。
  • 输入访问JIRA服务器应用程序时应用程序将使用的应用程序名称和密码。
  • 输入应用程序的IP地址,地址或IP CIDR块,然后单击“保存”。

答案 5 :(得分:0)

这对我有用:

https://company_name.altassian.net/rest/api/3/users/search?

它将返回如下内容:

[
{
    "accountId": "id",
    "accountType": "app",
    "avatarUrls": {},
    "displayName": "Slack",
    "active": true
},
{
    "self": "profile_link of ther user",
    "accountId": "id",
    "accountType": "atlassian",
    "avatarUrls": {},
    "displayName": "**Real user**",
    "active": true,
    "locale": "en_US"
}
]

在保存到数据库之前,您必须检查accountType

if (accountType == 'altassian') {
      then do push; // or whatever
}

答案 6 :(得分:0)

我知道这是一个旧线程,但是如果现在有人在搜索它,这对我现在是有效的:

GET /rest/api/latest/user/search?query=+&maxResults=1000

谢谢;)