Python-GitLab Unprotect master

Python-GitLab Unprotect master

在上一版本的Python-GitLab中创建项目并添加用户为开发者后,我们一直在使用:

# Unprotect master
branch = project.branches.get('master')
branch.unprotect()

因为我们希望允许开发人员访问母版。

unprotect 在 3.2.0 版中不再可用 谁能指导我如何使用新版本获得相同的结果

谢谢

为此您需要使用 Protected Branches API (python-gitlab docs)。

protected_branch = project.protectedbranches.get("master")
protected_branch.delete()

# or simply
project.protectedbranches.delete("master")

注意:本例中的 delete() 方法只是取消保护,不会删除分支。

到re-protect它,你可以再创建它。您还可以直接控制访问级别:

protected_branch = project.protectedbranches.create({
    'name': 'master',
    'merge_access_level': gitlab.const.DEVELOPER_ACCESS,
    'push_access_level': gitlab.const.MAINTAINER_ACCESS
})