• We collect Jira feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      NOTE: This suggestion is for JIRA Server. Using JIRA Cloud? See the corresponding suggestion.

      Currently there is no (easy) way for a remote client to discover a list of all user in a Jira installation. The best that you can do (if you are an admin user) is call getUsers(Group) where group is the jira-users group. It would be really handy if there were a service to get a list of all users in the system. With this information it would be possible for remote clients to provide user lookup facilities and mappings between user id's and real names.

      However, I do understand that adding such a service opens the system up to abuse. It would be trivial to write a client that could harvest a list of valid email addresses from the system. Requiring the user to login before calling the service may help this a bit.

      Here is the RPC service code:

      UserServiceImpl.java
          public RemoteUser[] getAllUsers()
          {
          	Collection usersCollection = UserUtils.getAllUsers();
          	RemoteUser[] users = new RemoteUser[usersCollection.size()];
          	
          	int i = 0;
          	for (Iterator iUsers = usersCollection.iterator(); iUsers.hasNext(); i++) {
          		users[i] = new RemoteUser((User) iUsers.next());
          	}
              return users;
          }
      

            [JRASERVER-8970] Consider adding a SOAP service to get all users

            Dave Meyer added a comment -

            JIRA's SOAP API was deprecated in JIRA 6.0 and will be removed in JIRA 7.0. This resource is available in the JIRA REST API.

            Dave Meyer added a comment - JIRA's SOAP API was deprecated in JIRA 6.0 and will be removed in JIRA 7.0. This resource is available in the JIRA REST API.

            Pherum UN added a comment - - edited

            I have this problem also.

            it not showing error. but when execute the error said it cause from this line.

            at com.atlassian.jira.rpc.soap.client.JirasoapserviceV2SoapBindingStub.getGroup(JirasoapserviceV2SoapBindingStub.java:3749)
            	at com.goldengekko.jira.soap.repositories.SOAPJiraApiImpl.getJiraUsers(SOAPJiraApiImpl.java:439)
            	at com.goldengekko.jira.soap.session.JiraSessionApiImpl.getJiraUsers(JiraSessionApiImpl.java:335)
            	at com.goldengekko.jira.soap.session.JiraSessionApiImpl.getJiraUsers(JiraSessionApiImpl.java:330)
            	at com.goldengekko.com.jira.soap.Main.main(Main.java:25)
            
            RemoteUser[] remoteUser = jiraSoapService.getGroup(soapSession.getAuthenticationToken(), "groupName").getUsers();
            

            I already ask my administrator that my group name is correct.

            any idea please help thanks ?

            /Pherum UN

            Pherum UN added a comment - - edited I have this problem also. it not showing error. but when execute the error said it cause from this line. at com.atlassian.jira.rpc.soap.client.JirasoapserviceV2SoapBindingStub.getGroup(JirasoapserviceV2SoapBindingStub.java:3749) at com.goldengekko.jira.soap.repositories.SOAPJiraApiImpl.getJiraUsers(SOAPJiraApiImpl.java:439) at com.goldengekko.jira.soap.session.JiraSessionApiImpl.getJiraUsers(JiraSessionApiImpl.java:335) at com.goldengekko.jira.soap.session.JiraSessionApiImpl.getJiraUsers(JiraSessionApiImpl.java:330) at com.goldengekko.com.jira.soap.Main.main(Main.java:25) RemoteUser[] remoteUser = jiraSoapService.getGroup(soapSession.getAuthenticationToken(), "groupName" ).getUsers(); I already ask my administrator that my group name is correct. any idea please help thanks ? /Pherum UN

            Hy Facundo,

            if you have a group you know (like jira-users) you can do a workaround to get all users of that group with:

            soap.getGroup(loginToken, "jira-users").users

            i for myself are running ok with that, i have a complementary group jira-deactivated so if i fetch all deactivated + active (jira-users) i get all but my service users (who are not able to login )

            Best i got without starting to rebuilt jira

            cheers
            Frank

            Frank Stiller added a comment - Hy Facundo, if you have a group you know (like jira-users ) you can do a workaround to get all users of that group with: soap.getGroup(loginToken, "jira-users").users i for myself are running ok with that, i have a complementary group jira-deactivated so if i fetch all deactivated + active (jira-users) i get all but my service users (who are not able to login ) Best i got without starting to rebuilt jira cheers Frank

            Hi! Any news on the status of this issue?
            We are writing a mobile client for JIRA and it's really a shame not having a way to list all the users assigned to a project if your logged-in user is not an administrator.

            Thanks

            Facundo Diaz added a comment - Hi! Any news on the status of this issue? We are writing a mobile client for JIRA and it's really a shame not having a way to list all the users assigned to a project if your logged-in user is not an administrator. Thanks

            When will the major tackle come? Any schedule?

            Give us some more possibilities on user management, otherwise we have to use direct SQL. I dont really want to extend any API on such basic functionality. Please think of improving the user management of your products a bit as they are not really complete (no renaming of users/groups, no nested groups, no real support for ldap, no getUsers/Groups methods ...)

            thanks

            Frank Stiller added a comment - When will the major tackle come? Any schedule? Give us some more possibilities on user management, otherwise we have to use direct SQL. I dont really want to extend any API on such basic functionality. Please think of improving the user management of your products a bit as they are not really complete (no renaming of users/groups, no nested groups, no real support for ldap, no getUsers/Groups methods ...) thanks

            Hello Ignacio,

            There will be a major tackle on most RPC/SOAP issues in future release. I can't really promise when it will be, but for the time being, as the source code is freely available, I will suggest you to modify it manually:

            Cheers,
            Yuen-Chi

            Yuen-Chi Lian [Atlassian] added a comment - Hello Ignacio, There will be a major tackle on most RPC/SOAP issues in future release. I can't really promise when it will be, but for the time being, as the source code is freely available, I will suggest you to modify it manually: http://repository.atlassian.com/atlassian-jira-rpc-plugin/distributions/ Cheers, Yuen-Chi

            Hi Guys! Any news on the status of this issue? I'm writing a Visual Studio 2005 plugin for JIRA and it's really a shame not having an easy way to list all the users assigned to a project.

            Ignacio Lopez added a comment - Hi Guys! Any news on the status of this issue? I'm writing a Visual Studio 2005 plugin for JIRA and it's really a shame not having an easy way to list all the users assigned to a project.

            For my needs, and it will deal with the security problem also, a method to get a list of all user names could be enough.
            We could have a method to get a list of RemoteUser as the current getGroup function works now, and one which will only return a list of strings containing the usernames....
            Then no more security issue I think (or at least much less)

            Cheers

            Olivier

            golivier@yahoo.com added a comment - For my needs, and it will deal with the security problem also, a method to get a list of all user names could be enough. We could have a method to get a list of RemoteUser as the current getGroup function works now, and one which will only return a list of strings containing the usernames.... Then no more security issue I think (or at least much less) Cheers Olivier

            Anton,
            Instead of returning all users, perhaps a search api would be smarter?
            something like findUsers(String partialFullName, String partialEmailAddress, int pageSize, int page) : User[]

            Being able to filter on group would also be cool, but there is no way to list groups from the remote API

            cheers,
            Brock

            Brock Janiczak added a comment - Anton, Instead of returning all users, perhaps a search api would be smarter? something like findUsers(String partialFullName, String partialEmailAddress, int pageSize, int page) : User[] Being able to filter on group would also be cool, but there is no way to list groups from the remote API cheers, Brock

            AntonA added a comment -

            Thank you for the suggestion. We would indeed need to make the access secure. Some JIRA installations have more than 10,000 users. We would also need a way to deal with large users sets.

            Do you mind sharing this code with the rest of the community? If not, please post it on the JIRA Community Space:
            http://confluence.atlassian.com/display/JIRACOM/Home

            Thanks a lot for sharing teh code!

            Anton

            AntonA added a comment - Thank you for the suggestion. We would indeed need to make the access secure. Some JIRA installations have more than 10,000 users. We would also need a way to deal with large users sets. Do you mind sharing this code with the rest of the community? If not, please post it on the JIRA Community Space: http://confluence.atlassian.com/display/JIRACOM/Home Thanks a lot for sharing teh code! Anton

              Unassigned Unassigned
              13b349c87b4b Brock Janiczak
              Votes:
              9 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: