@@ -2459,6 +2459,27 @@ class ProjectPipelineScheduleManager(CRUDMixin, RESTManager):
24592459 ('description' , 'ref' , 'cron' , 'cron_timezone' , 'active' ))
24602460
24612461
2462+ class ProjectPushRules (SaveMixin , ObjectDeleteMixin , RESTObject ):
2463+ _id_attr = None
2464+
2465+
2466+ class ProjectPushRulesManager (GetWithoutIdMixin , CreateMixin , UpdateMixin ,
2467+ DeleteMixin , RESTManager ):
2468+ _path = '/projects/%(project_id)s/push_rule'
2469+ _obj_cls = ProjectPushRules
2470+ _from_parent_attrs = {'project_id' : 'id' }
2471+ _create_attrs = (tuple (),
2472+ ('deny_delete_tag' , 'member_check' ,
2473+ 'prevent_secrets' , 'commit_message_regex' ,
2474+ 'branch_name_regex' , 'author_email_regex' ,
2475+ 'file_name_regex' , 'max_file_size' ))
2476+ _update_attrs = (tuple (),
2477+ ('deny_delete_tag' , 'member_check' ,
2478+ 'prevent_secrets' , 'commit_message_regex' ,
2479+ 'branch_name_regex' , 'author_email_regex' ,
2480+ 'file_name_regex' , 'max_file_size' ))
2481+
2482+
24622483class ProjectSnippetNoteAwardEmoji (ObjectDeleteMixin , RESTObject ):
24632484 pass
24642485
@@ -2887,6 +2908,7 @@ class Project(SaveMixin, ObjectDeleteMixin, RESTObject):
28872908 ('pipelines' , 'ProjectPipelineManager' ),
28882909 ('protectedbranches' , 'ProjectProtectedBranchManager' ),
28892910 ('pipelineschedules' , 'ProjectPipelineScheduleManager' ),
2911+ ('pushrules' , 'ProjectPushRulesManager' ),
28902912 ('runners' , 'ProjectRunnerManager' ),
28912913 ('services' , 'ProjectServiceManager' ),
28922914 ('snippets' , 'ProjectSnippetManager' ),
0 commit comments