diff options
Diffstat (limited to 'gitlab/v4/objects/hooks.py')
-rw-r--r-- | gitlab/v4/objects/hooks.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gitlab/v4/objects/hooks.py b/gitlab/v4/objects/hooks.py index 69b324e..428fd76 100644 --- a/gitlab/v4/objects/hooks.py +++ b/gitlab/v4/objects/hooks.py @@ -6,6 +6,8 @@ __all__ = [ "HookManager", "ProjectHook", "ProjectHookManager", + "GroupHook", + "GroupHookManager", ] @@ -60,3 +62,53 @@ class ProjectHookManager(CRUDMixin, RESTManager): "token", ), ) + + +class GroupHook(SaveMixin, ObjectDeleteMixin, RESTObject): + _short_print_attr = "url" + + +class GroupHookManager(CRUDMixin, RESTManager): + _path = "/groups/%(group_id)s/hooks" + _obj_cls = GroupHook + _from_parent_attrs = {"group_id": "id"} + _create_attrs = RequiredOptional( + required=("url",), + optional=( + "push_events", + "issues_events", + "confidential_issues_events", + "merge_requests_events", + "tag_push_events", + "note_events", + "confidential_note_events", + "job_events", + "pipeline_events", + "wiki_page_events", + "deployment_events", + "releases_events", + "subgroup_events", + "enable_ssl_verification", + "token", + ), + ) + _update_attrs = RequiredOptional( + required=("url",), + optional=( + "push_events", + "issues_events", + "confidential_issues_events", + "merge_requests_events", + "tag_push_events", + "note_events", + "confidential_note_events", + "job_events", + "pipeline_events", + "wiki_page_events", + "deployment_events", + "releases_events", + "subgroup_events", + "enable_ssl_verification", + "token", + ), + ) |