GitLab 更改受保护分支的权限

GitLab change permission of protected branches

我们最近迁移到了 GitLab 自托管 (V14.3.0)

我们将 100 多个 repos 迁移到 Gitlab 然后我们意识到,默认情况下只有维护者对 Gitlab protected branched 具有写入权限。

有没有办法一次性为多个存储库更改以下设置,或者我们必须为每个存储库手动更改?

我们想将“允许合并”从“维护者”更改为“开发者 + 维护者”

在主要组中,我们将其设置为以下内容,我希望这会使其起作用,但运气不佳 -

好吧,手动将是一个糟糕的方法,但是 GitLab API 提供了很多关于这个问题的功能。我不会写脚本,但我会概述您可以使用的 API 以及为什么要使用它们。

  1. 获取您要更改的所有项目的列表 - Projects API

    GET /projects
    

    使用此端点,您将收到实例中所有项目的列表,用户可以访问这些项目 - 请注意这是一个分页请求 - 因此仅调用一次是不够的。

  2. 修改受保护的分支 - Protected Branches API

    使用第一部分中的项目 ID,您现在可以查询每个项目并更改保护。我们最终首先删除保护并重新创建它们,因为它已被证明更容易。

无论如何,我建议使用脚本自动执行此操作,而且越早越好。由于某些项目可能从自定义保护开始,这会使迁移变得更加困难。