@@ -514,32 +514,42 @@ def getprojecthook(self, project_id, hook_id):
514
514
515
515
return False
516
516
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
521
521
:param url: url of the hook
522
522
:return: True if success
523
523
"""
524
524
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 ))
525
529
request = requests .post ("{0}/{1}/hooks" .format (self .projects_url , project_id ),
526
530
headers = self .headers , data = data , verify = self .verify_ssl )
527
531
if request .status_code == 201 :
528
532
return True
529
533
else :
530
534
return False
531
535
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
536
541
:param hook_id: hook id
537
542
:param url: the new url
538
543
:param sudo: do the request as another user
539
544
:return: True if success
540
545
"""
541
546
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
543
553
request = requests .put ("{0}/{1}/hooks/{2}" .format (self .projects_url , project_id , hook_id ),
544
554
headers = self .headers , data = data , verify = self .verify_ssl )
545
555
if request .status_code == 200 :
0 commit comments