summaryrefslogtreecommitdiff
path: root/gitlab
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab')
-rw-r--r--gitlab/__init__.py6
-rw-r--r--gitlab/objects.py30
2 files changed, 36 insertions, 0 deletions
diff --git a/gitlab/__init__.py b/gitlab/__init__.py
index 2699328..56a53c9 100644
--- a/gitlab/__init__.py
+++ b/gitlab/__init__.py
@@ -82,6 +82,10 @@ class Gitlab(object):
namespaces (NamespaceManager): Manager for namespaces
project_accessrequests (ProjectAccessRequestManager): Manager for
GitLab projects access requests
+ project_boards (ProjectBoardManager): Manager for GitLab projects
+ boards
+ project_board_lists (ProjectBoardListManager): Manager for GitLab
+ project board lists
project_branches (ProjectBranchManager): Manager for GitLab projects
branches
project_builds (ProjectBuildManager): Manager for GitLab projects
@@ -175,6 +179,8 @@ class Gitlab(object):
self.licenses = LicenseManager(self)
self.namespaces = NamespaceManager(self)
self.project_accessrequests = ProjectAccessRequestManager(self)
+ self.project_boards = ProjectBoardManager(self)
+ self.project_board_listss = ProjectBoardListManager(self)
self.project_branches = ProjectBranchManager(self)
self.project_builds = ProjectBuildManager(self)
self.project_commits = ProjectCommitManager(self)
diff --git a/gitlab/objects.py b/gitlab/objects.py
index 9ab1dc0..ad57d2f 100644
--- a/gitlab/objects.py
+++ b/gitlab/objects.py
@@ -925,6 +925,34 @@ class NamespaceManager(BaseManager):
obj_cls = Namespace
+class ProjectBoardList(GitlabObject):
+ _url = '/projects/%(project_id)s/boards/%(board_id)s/lists'
+ requiredUrlAttrs = ['project_id', 'board_id']
+ _constructorTypes = {'label': 'ProjectLabel'}
+ requiredCreateAttrs = ['label_id']
+ requiredUpdateAttrs = ['position']
+
+
+class ProjectBoardListManager(BaseManager):
+ obj_cls = ProjectBoardList
+
+
+class ProjectBoard(GitlabObject):
+ _url = '/projects/%(project_id)s/boards'
+ requiredUrlAttrs = ['project_id']
+ _constructorTypes = {'labels': 'ProjectBoardList'}
+ canGet = 'from_list'
+ canUpdate = False
+ canCreate = False
+ canDelete = False
+ managers = [('lists', ProjectBoardListManager,
+ [('project_id', 'project_id'), ('board_id', 'id')])]
+
+
+class ProjectBoardManager(BaseManager):
+ obj_cls = ProjectBoard
+
+
class ProjectBranch(GitlabObject):
_url = '/projects/%(project_id)s/repository/branches'
_constructorTypes = {'author': 'User', "committer": "User"}
@@ -1925,6 +1953,8 @@ class Project(GitlabObject):
managers = [
('accessrequests', ProjectAccessRequestManager,
[('project_id', 'id')]),
+ ('boards', ProjectBoardManager, [('project_id', 'id')]),
+ ('board_lists', ProjectBoardListManager, [('project_id', 'id')]),
('branches', ProjectBranchManager, [('project_id', 'id')]),
('builds', ProjectBuildManager, [('project_id', 'id')]),
('commits', ProjectCommitManager, [('project_id', 'id')]),