Skip to content

Commit cc98a09

Browse files
authored
Merge pull request #2 from pablotoledo/repo
group permissions
2 parents 725c7b8 + 6253ee4 commit cc98a09

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

atlassian/bitbucket.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,27 @@ def project_grant_user_permissions(self, project_key, username, permission):
104104
permission=permission,
105105
username=username)
106106
return self.put(url)
107+
108+
def project_grant_group_permissions(self, project_key, groupname, permission):
109+
"""
110+
Grant the specified project permission to an specific group
111+
:param project_key: project key involved
112+
:param groupname: group to be granted
113+
:param permission: the project permissions available are 'PROJECT_ADMIN', 'PROJECT_WRITE' and 'PROJECT_READ'
114+
:return:
115+
"""
116+
url = 'rest/api/1.0/projects/{project_key}/permissions/groups?permission={permission}&name={groupname}'.format(
117+
project_key=project_key,
118+
permission=permission,
119+
groupname=groupname)
120+
return self.put(url)
107121

108122
def repo_grant_user_permissions(self, project_key, repo_key, username, permission):
109123
"""
110124
Grant the specified repository permission to an specific user
111125
:param project_key: project key involved
112126
:param repo_key: repository key involved (slug)
113-
:param user: user name to be granted
127+
:param username: user name to be granted
114128
:param permission: the repository permissions available are 'REPO_ADMIN', 'REPO_WRITE' and 'REPO_READ'
115129
:return:
116130
"""
@@ -121,21 +135,21 @@ def repo_grant_user_permissions(self, project_key, repo_key, username, permissio
121135
username=username)
122136
return self.put(url)
123137

124-
def repo_grant_user_permissions(self, project_key, repo_key, username, permission):
138+
def repo_grant_group_permissions(self, project_key, repo_key, groupname, permission):
125139
"""
126-
Grant the specified repository permission to an specific user
140+
Grant the specified repository permission to an specific group
127141
:param project_key: project key involved
128142
:param repo_key: repository key involved (slug)
129-
:param user: user name to be granted
143+
:param groupname: group to be granted
130144
:param permission: the repository permissions available are 'REPO_ADMIN', 'REPO_WRITE' and 'REPO_READ'
131145
:return:
132146
"""
133-
url = 'rest/api/1.0/projects/{project_key}/repos/{repo_key}/permissions/users?permission={permission}&name={username}'.format(
147+
url = 'rest/api/1.0/projects/{project_key}/repos/{repo_key}/permissions/groups?permission={permission}&name={groupname}'.format(
134148
project_key=project_key,
135149
repo_key=repo_key,
136150
permission=permission,
137-
username=username)
138-
return self.put(url)
151+
groupname=groupname)
152+
return self.put(url)
139153

140154
def project_groups(self, key, limit=99999, filter_str=None):
141155
"""

docs/bitbucket.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ Manage projects
3333
# Grant project permission to an specific user
3434
bitbucket.project_grant_user_permissions(project_key, username, permission)
3535
36+
# Grant project permission to an specific group
37+
bitbucket.project_grant_group_permissions(project_key, groupname, permission)
38+
3639
Manage repositories
3740
---------------
3841

@@ -74,6 +77,9 @@ Manage repositories
7477
# Grant repository permission to an specific user
7578
bitbucket.repo_grant_user_permissions(project_key, repo_key, username, permission)
7679
80+
# Grant repository permission to an specific group
81+
bitbucket.repo_grant_group_permissions(project_key, repo_key, groupname, permission)
82+
7783
Groups and admins
7884
-----------------
7985

0 commit comments

Comments
 (0)