From c11bebd83dd0ef89645e1eefce2aa107dd79180a Mon Sep 17 00:00:00 2001 From: Gauvain Pocentek Date: Sun, 24 Jan 2016 19:21:19 +0100 Subject: [PATCH] implement project triggers support --- gitlab/objects.py | 12 ++++++++++++ tools/python_test.py | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/gitlab/objects.py b/gitlab/objects.py index 66a46f350..ddcbae72b 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -1020,6 +1020,17 @@ class ProjectSnippetManager(BaseManager): obj_cls = ProjectSnippet +class ProjectTrigger(GitlabObject): + _url = '/projects/%(project_id)s/triggers' + canUpdate = False + idAttr = 'token' + requiredUrlAttrs = ['project_id'] + + +class ProjectTriggerManager(BaseManager): + obj_cls = ProjectTrigger + + class Project(GitlabObject): _url = '/projects' _constructorTypes = {'owner': 'User', 'namespace': 'Group'} @@ -1047,6 +1058,7 @@ class Project(GitlabObject): ('notes', ProjectNoteManager, [('project_id', 'id')]), ('snippets', ProjectSnippetManager, [('project_id', 'id')]), ('tags', ProjectTagManager, [('project_id', 'id')]), + ('triggers', ProjectTriggerManager, [('project_id', 'id')]), ] def Branch(self, id=None, **kwargs): diff --git a/tools/python_test.py b/tools/python_test.py index 2dc7a1095..820dca1c7 100644 --- a/tools/python_test.py +++ b/tools/python_test.py @@ -152,3 +152,9 @@ tag1.set_release_description('Description 2') assert(tag1.release.description == 'Description 2') tag1.delete() + +# triggers +tr1 = admin_project.triggers.create({}) +assert(len(admin_project.triggers.list()) == 1) +tr1 = admin_project.triggers.get(tr1.token) +tr1.delete()