gerrit 修改code-reviewer submit规则

实现机制:

在工程 refs/meta/config 分支下新增 rules.pl文件

步骤:

1. 拉取工程代码

git clone  $project_url
cd $project

2.切换分支

#此步骤 执行者必须有访问refs/meta/config权限
git fetch origin +refs/meta/config:refs/meta/config
git checkout refs/meta/config

3.新增文件rules.pl

此规则脚本实现的是 codeviwer 总值必须 >= 3;
其他规则可参照官方文档(http://gerriturl/Documentation/prolog-cookbook.html)

cat rules.pl

sum_list([], 0).
sum_list([H | Rest], Sum) :- sum_list(Rest,Tmp), Sum is H + Tmp.

add_category_min_score(In, Category, Min,  P) :-
    findall(X, gerrit:commit_label(label(Category,X),R),Z),
    sum_list(Z, Sum),
    Sum >= Min, !,
    gerrit:commit_label(label(Category, V), U),
    V >= 1,
    !,
    P = [label(Category,ok(U)) | In].

add_category_min_score(In, Category,Min,P) :-
    P = [label(Category,need(Min)) | In].

submit_rule(S) :-
    gerrit:default_submit(X),
    X =.. [submit | Ls],
    gerrit:remove_label(Ls,label('Code-Review',_),NoCR),
    add_category_min_score(NoCR,'Code-Review', 3, Labels),
    S =.. [submit | Labels].

4.提交

git add .
git commit -m 'xxx'
git push  origin HEAD:refs/meta/config

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容