Skip to content
This repository was archived by the owner on Nov 4, 2020. It is now read-only.

Commit 870e4c2

Browse files
committed
add type of hooks
1 parent f381507 commit 870e4c2

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

gitlab/__init__.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -514,32 +514,42 @@ def getprojecthook(self, project_id, hook_id):
514514

515515
return False
516516

517-
def addprojecthook(self, project_id, url):
518-
"""Add a hook to a project
519-
520-
:param project_id: project id
517+
def addprojecthook(self, project_id, url, push=False, issues=False, merge_requests=False, tag_push=False):
518+
"""
519+
add a hook to a project
520+
:param id_: project id
521521
:param url: url of the hook
522522
:return: True if success
523523
"""
524524
data = {"id": project_id, "url": url}
525+
data['push_events'] = int(bool(push))
526+
data['issues_events'] = int(bool(issues))
527+
data['merge_requests_events'] = int(bool(merge_requests))
528+
data['tag_push_events'] = int(bool(tag_push))
525529
request = requests.post("{0}/{1}/hooks".format(self.projects_url, project_id),
526530
headers=self.headers, data=data, verify=self.verify_ssl)
527531
if request.status_code == 201:
528532
return True
529533
else:
530534
return False
531535

532-
def editprojecthook(self, project_id, hook_id, url):
533-
"""Edit an existing hook from a project
534-
535-
:param project_id: project id
536+
def editprojecthook(self, project_id, hook_id, url, push=False,
537+
issues=False, merge_requests=False, tag_push=False, sudo=""):
538+
"""
539+
edit an existing hook from a project
540+
:param id_: project id
536541
:param hook_id: hook id
537542
:param url: the new url
538543
:param sudo: do the request as another user
539544
:return: True if success
540545
"""
541546
data = {"id": project_id, "hook_id": hook_id, "url": url}
542-
547+
data['push_events'] = int(bool(push))
548+
data['issues_events'] = int(bool(issues))
549+
data['merge_requests_events'] = int(bool(merge_requests))
550+
data['tag_push_events'] = int(bool(tag_push))
551+
if sudo != "":
552+
data['sudo'] = sudo
543553
request = requests.put("{0}/{1}/hooks/{2}".format(self.projects_url, project_id, hook_id),
544554
headers=self.headers, data=data, verify=self.verify_ssl)
545555
if request.status_code == 200:

0 commit comments

Comments
 (0)