How to list all projects a user has access to using Jira's REST API?

lglalonde February 15, 2015

As an admin, I should be able to list all projects a specific user has access to. How to do that using the REST API without too convoluted code still escapes me... Any idea how to do that gracefully? Thanks!

7 answers

1 accepted

1 vote
Answer accepted
Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 16, 2015

I am afraid you will have to make multiple calls in that case.

https://docs.atlassian.com/jira/REST/latest/#d2e4366 gets you all users with given permission in a project.

https://docs.atlassian.com/jira/REST/latest/#d2e2710 gets you the project role view.

Hope one of these helps.

lglalonde February 16, 2015

Ok, thanks for the tips. I will try to combine calls as suggested.

Bob Kaucher September 26, 2016

None of these links go to a specific set of the documentation anymore. 

edellucien August 1, 2017

@Jobin Kuruvilla [Adaptavist], unfortunately those links points to nothing and I am working on a similar problem.
Hope you could help

Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 2, 2017

The older links are now broken it seems. There is a new experimental API which you can try out. It gets the job done in one call.

Check out "Get permitted projects"

Deleted user April 2, 2019

hello @Jobin Kuruvilla [Adaptavist]. I would like to find the groups for a specific user but the api https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-permissions-project-post only accepts a permissions array. please can you help me? thank you

Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 2, 2019

You can use the "Get User" API to get all user details including the group memberships. See https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-user-get

Aayush Mohanka March 24, 2020

Mentioned link are broken.Can you guys help in getting project details and permission a user have.

I have user details with me,and wanted to know all project that user has access.

2 votes
Jens Knipper January 4, 2017

Sorry for the late answer!
We had the same issue and wrote a plugin which extends the REST-API of Jira. You can specifiy a user and get the users projects and the permissions and roles assigned to the projects. You can also filter for specific permissions.
The plugin can be found here:
https://marketplace.atlassian.com/plugins/de.materna.jira.plugins.userProjectRest

jerome laumain June 25, 2020

Hi Jens,

do you some example ?

i try this method but it isn't work for me. return 404 :(

 

https://<jira-domain>/jira/rest/userprojectrest/1/project?user=xxxx

(in post method, with good parameters in plugin)

thanks a lot

1 vote
lglalonde February 16, 2015

Hi,

Thank you for your answers. I am looking for a way to fetch (browse) all projects a particular user (not me) has access to. No need to create. Using /rest/api/2/project works indeed, but that gives me the list of all projects visible to me as a JIRA admin.

I can do what I want through Jira's web interface: "JIRA Administration" / "User management", then "Projects Roles" for a specific user. I am looking for a way to emulate that using the REST API, being logged in as a JIRA Admin. Hopefully without too many looped calls... Thanks again for the help!

edellucien August 1, 2017

Any luck to make it work since then?

Like # people like this
1 vote
Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 16, 2015

Depends on what access you are looking for. If it is 'Create', use what @Volodymyr Krupach suggested.

If you are looking for all projects visible to the users (Browse access), use GET on /rest/api/2/project.

1 vote
Volodymyr Krupach
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 15, 2015

He Luigi,

You can do it with /rest/api/2/issue/createmeta: https://docs.atlassian.com/jira/REST/latest/#d2e550

Piece of my JavaScript:

var projUrl = "/rest/api/2/issue/createmeta";
  var availableProjectsArr = [];
  jQuery.ajax({
    url : projUrl,
    headers : {
      "Accept" : "application/json"
    },
    success : function(jsonStr) {
      var json = $.parseJSON(jsonStr);
      for (var i = 0; i &lt; json.projects.length; i++) {
        var project = json.projects[i];
        availableProjectsArr.push(project.key);
      }
      ...
Peter Bunde Hansen July 12, 2017

Just out of interest: where do you use JavaScript to access REST? I am using VBA from Excel, to retrieve Confluence information to display in excel.

0 votes
Radek Janata November 8, 2018

You can also use GET on /rest/api/2/user/permission/search. You can specify user, projectKey and permissions you're interested in (e.g. BROWSE, CREATE_ISSUE, etc.). It works pretty well.

See Jira REST API documentation:
https://docs.atlassian.com/software/jira/docs/api/REST/latest/#api/2/user-findUsersWithAllPermissions

Bartosz Kaczyński January 22, 2020

Hey,

can I get a list of projects where particular user has a BROWSE permission?

Radek Janata January 24, 2020

Not easily without iterating over all projects in Jira.

I would use @Jens Knipper's solution mentioned above.

Bartosz Kaczyński January 24, 2020

I need this information for further processing. I build external powershell-based tool.

0 votes
Elid Garazlic October 27, 2018

Maybe someone is still looking for this (it is not problem to get projects from browser for you...)
But lot of users who are working with Jira Rest API is calling with admin permissions.
And with the 
"rest/api/2/project/" will give them all projects.
But they need for some user.
I had try many ways but only that I can be sure that is working is this:
Something Like PseudoCode:

userproject=array();
projects="rest/api/2/project"
for( projects as project)
{
   assignable="rest/api/2/user/assignable/multiProjectSearch?projectKeys="+project.key;
for(assignable as ass)
{
userproject.push(project)
}
}

Suggest an answer

Log in or Sign up to answer