如果标签大于0,则Gerrit允许提交(prolog规则)

我在Gerrit中创建了一个自定义标签.

[label "Code-Quality"]
  function = NoOp
  value =  0 No score
  value = +1 Horror
  value = +2 Not bad
  value = +3 Good
  value = +4 Super Hiper
  value = +5 Jon Skeet

这是为了(从长远来看)谁被认为是编写一个高质量的代码.但是,当我将此标签保留为可选(NoOp)时,似乎没有人填写它. Gerrit显示CodeReview 2快捷按钮,因此在大多数情况下,审阅者甚至不会打开“回复”框,他们会看到附加标签.

我想要实现的是阻止更改提交,除非审阅者将CQ标志设置为大于0的任何值.如果我将-1值添加到此标志,则AnyWithBlock函数似乎是合理的,但是审阅者仍然可以使用快捷按钮跳过设置(通常是无意中).

我见过I can create a custom submit rule in prolog.但是,虽然有许多不同规则的例子,但没有人适合我的用例.此外,prolog语法对我来说看起来很神秘,以至于我无法生产任何与我的需求相近的东西.

任何帮助写这样的提交规则或指向我另一个方向将非常感激.

最佳答案 改成:

[label "Code-Quality"]
  function = AnyWithBlock
  defaultValue = -1
  value = -1 No score
  value = +1 Horror
  value = +2 Not bad
  value = +3 Good
  value = +4 Super Hiper
  value = +5 Jon Skeet
点赞