How i can get users for bamboo plan via rest api?

DARK_DIESEL May 4, 2017

How can i get users for bamboo plan via rest api? i need list of users that have permissions for plan.

1 answer

0 votes
Bruno Rosa
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 11, 2017

hey Igor, there's no REST endpoint available to get plan permissions in Bamboo. However, you can do this from the database using the following SELECT query:

 select AE.TYPE,
AE.SID USER_OR_GROUP_OR_ROLE,
AE.MASK PERMISSION_LEVEL
from BUILD B
join ACL_OBJECT_IDENTITY AOI
on AOI.OBJECT_ID_IDENTITY = B.BUILD_ID
join ACL_ENTRY AE
on AE.ACL_OBJECT_IDENTITY = AOI.ID
where B.BUILD_TYPE = 'CHAIN'
and B.FULL_KEY = '<PLAN_KEY>';

Please replace <PLAN_KEY> with the actual plan key.

Bruno Rosa
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 11, 2017

Let me give you an example. I have granted the following permissions to my plan:

  • Plan admin to user brosa.
  • View access to the bamboo-users group.
  • View access to logged in users.
  • View access to anonymous users.

This is how it looks like when I run that SQL statement:

| type | user_or_group_or_role | permission_level |

| PRINCIPAL | brosa | 2 |
| PRINCIPAL | brosa | 1 |
| PRINCIPAL | brosa | 16 |
| PRINCIPAL | brosa | 128 |
| PRINCIPAL | brosa | 64 |
| GRANTED_AUTHORITY | ROLE_USER | 1 |
| GRANTED_AUTHORITY | ROLE_ANONYMOUS | 1 |
| GROUP_PRINCIPAL | bamboo-users | 1 |

Following the example above, we have the following types:

  • PRINCIPAL (user)
  • GROUP_PRINCIPAL (group)
  • GRANTED_AUTHORITY (role)

The following user_or_group_or_role:

  • username
  • group name
  • logged in users
  • anonymous access

Finally, the following permission_levels:

  • 1: View
  • 2: Edit
  • 64: Build
  • 128: Clone
  • 16: Admin
Bruno Rosa
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 11, 2017

By the way, what I mentioned above is for Bamboo < 6.2 (e.g. 5.10, 5.13, 5.15, 6.1, etc). Multiple changes have been introduced to Bamboo 6.2 in terms of permissions (as seen here: https://confluence.atlassian.com/bamboo/bamboo-6-2-release-notes-938641951.html), including REST endpoints to query plan permissions.

For example, you can get a list of users that have been granted access to a specific plan using the following REST endpoint:

  • http://localhost:8085/rest/api/latest/permissions/plan/<PLAN_KEY>/users

You can also use the following to get a list of groups with access to a particular plan:

  • http://localhost:8085/rest/api/latest/permissions/plan/<PLAN_KEY>/groups

This is all available here: https://docs.atlassian.com/bamboo/REST/6.2.1/#d2e337

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events