summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects.py
diff options
context:
space:
mode:
authorEric Sabouraud <esabouraud@users.noreply.github.com>2018-06-11 21:23:57 +0200
committerGauvain Pocentek <gauvain@pocentek.net>2018-06-11 21:23:57 +0200
commit2c22a34ef68da190520fac4b326144061898e0cc (patch)
treecb33bd3aa0c7017651f8c3c665baa5ab85f320e9 /gitlab/v4/objects.py
parent617aa64c8066ace4be4bbc3f510f27d3a0519daf (diff)
downloadgitlab-2c22a34ef68da190520fac4b326144061898e0cc.tar.gz
Add project push rules configuration (#520)
Diffstat (limited to 'gitlab/v4/objects.py')
-rw-r--r--gitlab/v4/objects.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py
index 856d74a..2db2e39 100644
--- a/gitlab/v4/objects.py
+++ b/gitlab/v4/objects.py
@@ -2459,6 +2459,27 @@ class ProjectPipelineScheduleManager(CRUDMixin, RESTManager):
('description', 'ref', 'cron', 'cron_timezone', 'active'))
+class ProjectPushRules(SaveMixin, ObjectDeleteMixin, RESTObject):
+ _id_attr = None
+
+
+class ProjectPushRulesManager(GetWithoutIdMixin, CreateMixin, UpdateMixin,
+ DeleteMixin, RESTManager):
+ _path = '/projects/%(project_id)s/push_rule'
+ _obj_cls = ProjectPushRules
+ _from_parent_attrs = {'project_id': 'id'}
+ _create_attrs = (tuple(),
+ ('deny_delete_tag', 'member_check',
+ 'prevent_secrets', 'commit_message_regex',
+ 'branch_name_regex', 'author_email_regex',
+ 'file_name_regex', 'max_file_size'))
+ _update_attrs = (tuple(),
+ ('deny_delete_tag', 'member_check',
+ 'prevent_secrets', 'commit_message_regex',
+ 'branch_name_regex', 'author_email_regex',
+ 'file_name_regex', 'max_file_size'))
+
+
class ProjectSnippetNoteAwardEmoji(ObjectDeleteMixin, RESTObject):
pass
@@ -2887,6 +2908,7 @@ class Project(SaveMixin, ObjectDeleteMixin, RESTObject):
('pipelines', 'ProjectPipelineManager'),
('protectedbranches', 'ProjectProtectedBranchManager'),
('pipelineschedules', 'ProjectPipelineScheduleManager'),
+ ('pushrules', 'ProjectPushRulesManager'),
('runners', 'ProjectRunnerManager'),
('services', 'ProjectServiceManager'),
('snippets', 'ProjectSnippetManager'),