@@ -1732,6 +1732,17 @@ class ProjectDeploymentManager(RetrieveMixin, RESTManager):
17321732 _from_parent_attrs = {'project_id' : 'id' }
17331733
17341734
1735+ class ProjectProtectedBranch (ObjectDeleteMixin , RESTObject ):
1736+ _id_attr = 'name'
1737+
1738+
1739+ class ProjectProtectedBranchManager (NoUpdateMixin , RESTManager ):
1740+ _path = '/projects/%(project_id)s/protected_branches'
1741+ _obj_cls = ProjectProtectedBranch
1742+ _from_parent_attrs = {'project_id' : 'id' }
1743+ _create_attrs = (('name' , ), ('push_access_level' , 'merge_access_level' ))
1744+
1745+
17351746class ProjectRunner (ObjectDeleteMixin , RESTObject ):
17361747 pass
17371748
@@ -1767,6 +1778,7 @@ class Project(SaveMixin, ObjectDeleteMixin, RESTObject):
17671778 ('notes' , 'ProjectNoteManager' ),
17681779 ('notificationsettings' , 'ProjectNotificationSettingsManager' ),
17691780 ('pipelines' , 'ProjectPipelineManager' ),
1781+ ('protectedbranches' , 'ProjectProtectedBranchManager' ),
17701782 ('runners' , 'ProjectRunnerManager' ),
17711783 ('services' , 'ProjectServiceManager' ),
17721784 ('snippets' , 'ProjectSnippetManager' ),
0 commit comments