如何在 python-gitlab 中更新受保护的分支?

问题描述

我正在使用 python-gitlab 来帮助配置项目。我正在尝试自动进入 GitLab 设置 > 存储库 > 受保护分支,然后对于现有的主分支,将“允许合并”从“维护人员”更改为“开发人员 + 维护人员”。这是一个代码片段:

import gitlab
gl = gitlab.Gitlab.from_config()
project = project = gl.projects.get("my-team/my_project")
master_branch = project.protectedbranches.get("master")
print(master_branch.merge_access_levels)

数据类型只是一个字典列表;似乎没有办法像此 API 中的其他设置一样更新设置。甚至你只是更新它:

master_branch.merge_access_levels[0]['access_level'] = 30
project.save()

什么都没发生。有没有办法用 python-gitlab 做到这一点?

谢谢!

解决方法

您正在寻找branch.protect()

    branch = project.branches.get('master')
    branch.protect(developers_can_push=True,developers_can_merge=True)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...