diff options
author | Gauvain Pocentek <gauvain@pocentek.net> | 2016-10-23 16:16:54 +0200 |
---|---|---|
committer | Gauvain Pocentek <gauvain@pocentek.net> | 2016-10-23 16:16:54 +0200 |
commit | f332907457c897ad0483a0bffce3d01503445d0b (patch) | |
tree | d871082cc6b0fec206ea5c7a135fe4573039b1a2 /gitlab/objects.py | |
parent | 20fdbe870f161ad7c47c7d57ebb2b6952acba8be (diff) | |
download | gitlab-f332907457c897ad0483a0bffce3d01503445d0b.tar.gz |
Add support for boards API
This is not fully usable because the gitlab API has some limitations:
- not possible to create boards programmatically
- not possible to get labels ID
(https://gitlab.com/gitlab-org/gitlab-ce/issues/23448)
Diffstat (limited to 'gitlab/objects.py')
-rw-r--r-- | gitlab/objects.py | 30 |
1 files changed, 30 insertions, 0 deletions
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')]), |