【问题标题】:Can't report +1 to gerrit server via jenkins无法通过詹金斯向 gerrit 服务器报告 +1
【发布时间】:2020-12-30 01:43:47
【问题描述】:

我尝试在我的系统上构建 CI。 Jenkins 可以监听 gerrit 推送事件并检查代码。但是 jenkins Gerrit-Trigger 在成功运行作业后没有报告 +1 验证。

控制台输出有错误信息:ERROR Gerrit response: HTTP method POST is not supported by this URLFinished: SUCCESS

Versions:
Windows 10
Jenkins 2.263.1
Gerrit 2.10.2
Gerrit Trigger Plugin 2.32.0
Git Plugin 4.5.0

有一些警告,有关系吗?

我的项目 Gerrit 报告值:

编辑

--message Message 修改为双引号后不再显示错误消息(管理 Jenkins > Gerrit 触发器 > Gerrit 验证命令)

编辑

【问题讨论】:

    标签: jenkins continuous-integration gerrit


    【解决方案1】:

    你应该考虑的一些事情:

    1. 您的 Gerrit 版本(真的)太旧了,如果您更新到新版本会非常好。

    2. 尝试取消选中“管理 Jenkins”>“Gerrit 触发器”>“高级”>“REST API”中的“使用 REST API”选项。也许 Gerrit 2.10.2 REST API 与 Gerrit-Trigger 最新版本不兼容。

    3. 您是否在 Gerrit 上定义了“代码审查”和“验证”标签? Jenkins 使用的 Gerrit 用户是否有权限进行审核(-1/+1)?

    【讨论】:

    • 我尝试取消选中“使用 REST API”,但没有任何变化。 Gerrit 用户可以手动查看代码。我怎么知道 Gerrit 上定义了“Code-Review”和“Verified”标签?
    • 如果我取消选中“使用 REST API”,系统日志中会出现一些错误,例如“--verified”不是一个有效的选项”、““Successful”不是一个有效的补丁集( 1)"
    • Gerrit > Project > All-Projects > Access,“Reference: refs/heads/*”下有非交互式用户的标签“Code-Review”,但没有标签“Verified”
    • 显然您的 Gerrit 中没有“已验证”标签,您只能使用 Code-Review 标签进行审查。删除 Gerrit 触发器配置中 review 命令的“--verified”部分(以及所有其他“已验证”相关部分)。
    • 我在 Jenkins 中删除了“--verified”,但仍然失败。我在 Execute Windows 批处理命令中尝试ssh -v -p 29418 user@host gerrit review %GIT_COMMIT% --message 'msg from jenkins batch' --code-review 1,它工作正常。
    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多