任何使用DSL格式在gerrit中创建访问控制的脚本

时间:2012-06-04 02:53:00

标签: git dsl puppet gerrit

在gerrit中,我们需要设置access control for projects,它主要通过网页完成,这是初始化的效率。

在互联网上,有一些解决方案可以在脚本中操作数据库(如gsql for h2),但它也是低级别和低效率的。

我想知道是否

  1. 目前我们可以使用更好的API来轻松地在gerrit中创建访问控制
  2. 或者任何人已经以DSL格式编写配置,脚本可以处理gerrit(sql over ssh)。
  3. 或任何傀儡好的模块吗?
  4. 我在DSL中的预期配置如下所示

    Group1; Read on refs/heads/* and refs/tags/*
    Group2; Push to refs/for/refs/heads/* and refs/changes/*
    Group3; Push merge commit to refs/for/refs/heads/* and refs/changes/*
    Group4; Forge Author Identity
    Group5; Label: Code review with range -2 to +2
    Group6; Label: Verify with range -1 to +1
    Group7; Submit
    

    脚本有助于其余部分

2 个答案:

答案 0 :(得分:3)

你可以试试这个:

git fetch origin refs/meta/config
git checkout -b config FETCH_HEAD

更新project.config

git push origin HEAD:refs/meta/config

答案 1 :(得分:1)

您可以下载refs / meta / config分支并更改project.config文件。 像这样

git fetch origin +refs/meta/*:refs/remotes/origin/*
git checkout -b config --track origin/config 

您只需打开project.config文件并进行所需的访问更改,然后将其推送到gerrit

git push origin HEAD:refs/meta/config 

您必须具有对refs / meta / config的读取权限才能实现此目的。 这些访问权限来自gui。

要在创建新项目时绕过此项,您可以将其添加到project_creators已读取的所有项目中,并将其推送到refs / meta / config。

干杯