diff options
-rw-r--r-- | gitlab/__init__.py | 2 | ||||
-rw-r--r-- | gitlab/objects.py | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/gitlab/__init__.py b/gitlab/__init__.py index c42acaf..1f895e3 100644 --- a/gitlab/__init__.py +++ b/gitlab/__init__.py @@ -67,6 +67,7 @@ class Gitlab(object): Attributes: user_keys (UserKeyManager): Manager for GitLab users' SSH keys. users (UserManager): Manager for GitLab users + group_projects (GroupProjectManager): Manager for GitLab group projects group_members (GroupMemberManager): Manager for GitLab group members groups (GroupManager): Manager for GitLab members hooks (HookManager): Manager for GitLab hooks @@ -134,6 +135,7 @@ class Gitlab(object): self.settings = ApplicationSettingsManager(self) self.user_keys = UserKeyManager(self) self.users = UserManager(self) + self.group_projects = GroupProjectManager(self) self.group_members = GroupMemberManager(self) self.groups = GroupManager(self) self.hooks = HookManager(self) diff --git a/gitlab/objects.py b/gitlab/objects.py index e19b951..e56bfc4 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -725,6 +725,24 @@ class GroupManager(BaseManager): return self.gitlab._raw_list(url, self.obj_cls, **kwargs) +class GroupProject(GitlabObject): + def list_projects(self, gid, **kwargs): + """List projects in a group + + Attrs: + gid (int): ID of the group + + Returns: + list(Group): a list of projects in the group + """ + url = '/groups/%d/projects' % gid + return self.gitlab._raw_list(url, self.obj_cls, **kwargs) + + +class GroupProjectManager(BaseManager): + obj_cls = GroupProject + + class Hook(GitlabObject): _url = '/hooks' canUpdate = False |