summaryrefslogtreecommitdiff
path: root/gitlab
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2016-07-16 19:46:46 +0200
committerGauvain Pocentek <gauvain@pocentek.net>2016-07-16 19:46:46 +0200
commite7c412510ba014f6e1cf94b725b0e24665c7b4ed (patch)
tree5795e07d864fa3a43974c18e55b3e87d17550ae4 /gitlab
parentdcf31a425217efebe56d4cbc8250dceb3844b2fa (diff)
downloadgitlab-e7c412510ba014f6e1cf94b725b0e24665c7b4ed.tar.gz
Implement sharing project with a group
Diffstat (limited to 'gitlab')
-rw-r--r--gitlab/objects.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/gitlab/objects.py b/gitlab/objects.py
index 44f34cd..dba54f0 100644
--- a/gitlab/objects.py
+++ b/gitlab/objects.py
@@ -1948,6 +1948,22 @@ class Project(GitlabObject):
raise_error_from_response(r, GitlabCreateError, 201)
return Project(self.gitlab, r.json()) if r.status_code == 201 else self
+ def share(self, group_id, group_access, **kwargs):
+ """Share the project with a group.
+
+ Args:
+ group_id (int): ID of the group.
+ group_access (int): Access level for the group.
+
+ Raises:
+ GitlabConnectionError: If the server cannot be reached.
+ GitlabCreateError: If the server fails to perform the request.
+ """
+ url = "/projects/%s/share" % self.id
+ data = {'group_id': group_id, 'group_access': group_access}
+ r = self.gitlab._raw_post(url, data=data, **kwargs)
+ raise_error_from_response(r, GitlabCreateError, 201)
+
class TeamMember(GitlabObject):
_url = '/user_teams/%(team_id)s/members'