Addded API for team access. by dekimsey · Pull Request #1 · python-gitlab/python-gitlab
def Team(self, id=None, **kwargs): """Creates/gets/lists team(s) known by the GitLab server.
If id is None, returns a list of teams.
If id is an integer, returns the matching project (or raise a GitlabGetError if not found)
If id is a dict, create a new object using attributes provided. The object is NOT saved on the server. Use the save() method on the object to write it on the server. """ return self._getListOrObject(Team, id, **kwargs)
class GitlabObject(object): _url = None
class TeamMember(GitlabObject): _url = '/user_teams/%(team_id)s/members' canUpdate = False requiredCreateAttrs = ['team_id', 'user_id', 'access_level'] requiredDeleteAttrs = ['team_id'] requiredGetAttrs = ['team_id'] requiredListAttrs = ['team_id'] shortPrintAttr = 'username'
class TeamProject(GitlabObject): _url = '/user_teams/%(team_id)s/projects' _constructorTypes = {'owner': 'User', 'namespace': 'Group'} canUpdate = False requiredCreateAttrs = ['team_id', 'project_id', 'greatest_access_level'] requiredDeleteAttrs = ['team_id', 'project_id'] requiredGetAttrs = ['team_id'] requiredListAttrs = ['team_id'] shortPrintAttr = 'name'
class Team(GitlabObject): _url = '/user_teams' shortPrintAttr = 'name' requiredCreateAttrs = ['name', 'path'] canUpdate = False
def Member(self, id=None, **kwargs): return self._getListOrObject(TeamMember, id, team_id=self.id, **kwargs)
def Project(self, id=None, **kwargs): return self._getListOrObject(TeamProject, id, team_id=self.id, **kwargs)