Git 如何在Gerrit prolog中不通过rest api获得特定的审阅者投票?
我有gerrit jenkins的支持。Git 如何在Gerrit prolog中不通过rest api获得特定的审阅者投票?,git,jenkins,prolog,gerrit,Git,Jenkins,Prolog,Gerrit,我有gerrit jenkins的支持。 我无法在gerrit prolog文档中找到解决方案此代码根据以下场景工作 1-当jenkins用户投-1票时,它将禁用提交按钮 2-当jenkins用户投+1票时,它将启用提交按钮 submit_rule(S) :- gerrit:default_submit(X), X =.. [submit | Ls], add_non_author_approval(Ls, R), S =.. [submit | R]. sco
我无法在gerrit prolog文档中找到解决方案此代码根据以下场景工作 1-当jenkins用户投-1票时,它将禁用提交按钮 2-当jenkins用户投+1票时,它将启用提交按钮
submit_rule(S) :-
gerrit:default_submit(X),
X =.. [submit | Ls],
add_non_author_approval(Ls, R),
S =.. [submit | R].
score(Category, Score) :-
gerrit:commit_label(label(Category, Score), user(1000002)).
add_non_author_approval(S1, S2) :-
gerrit:commit_label(label('Code-Review', 1), user(1000001)),
A = user(1000002),
gerrit:commit_label(label('Code-Review', 2), R),
R \= A, !,
S2 = [label('Non-Author-Code-Review', ok(R)) | S1].
add_non_author_approval(S1, [label('Non-Author-Code-Review', need(_)) | S1]).
感谢您分享您的解决方案!您可以稍微简化一下:
X=。。[submit | Ls]
与:X=submit(Ls)
完全相同。类似地,S=submit(R)
@mat我对prolog是新手。感谢您突出显示这些优化。您可以对答案进行这些更改!