【问题标题】:gerrit-trigger is not triggering jenkins job based on the comment posted to patchset根据发布到补丁集的评论,gerrit-trigger 没有触发詹金斯的工作
【发布时间】:2020-06-26 22:31:17
【问题描述】:

詹金斯版本:2.73.1 Gerrit-Trigger 插件版本:2.27.1 Gerrit 版本:2.14.2

我的情况是:

新补丁集触发作业 1,作业 1 向该补丁集发布消息(先构建),然后作业 2 应该由该评论触发,但作业 2 出于某种原因未触发。下面是job 1和job 2的配置

Gerrit 事件中的作业 1 配置:

Gerrit 触发器中的作业 2 配置 >> 触发

作业 1 成功执行后,应向补丁集发送自定义消息(先构建),作业 2 应根据该消息触发。

在这种情况下,作业 2 不会触发。不知道这里出了什么问题。

【问题讨论】:

  • 您能在 Gerrit 上看到“先构建”消息吗?您能否添加它的图像(以尝试找出错误)。
  • 我没有看到任何关于 Gerrit 补丁集的评论。意思是,gerrit 用户没有发布这些 cmets。不知道这里出了什么问题。
  • 所以你的问题是错误的......而不是“gerrit-trigger 没有根据发布到补丁集的评论触发 jenkins 工作”,应该是“gerrit-trigger 没有在 Gerrit 中发布 cmets” ,对吗?

标签: jenkins triggers jenkins-plugins gerrit gerrit-trigger


【解决方案1】:

这不是一个完整的解决方案,因为我相信可能有另一种方法可以重现此问题,但我们发现如果启用 3 个复选框,我们可以重现此问题:

  • 仅构建当前补丁
  • 中止新补丁集
  • 中止手动补丁集

通过禁用这些设置,如果有更新的补丁可用,Jenkins 将不再中止旧的作业构建,但它将允许 Gerrit Trigger 响应它自己的 Gerrit 评论,从而触发额外的构建。

我们部署的另一个系统遇到了这个问题,但即使禁用这 3 个复选框也无法解决该系统的问题。我觉得某些设置配置可能会导致 Gerrit Trigger 忽略它自己的 cmets,因此不允许您通过修改第一个作业的成功/失败消息来创建触发另一个作业的作业。

【讨论】:

    【解决方案2】:

    我最近在 Jenkins 2.235.1 与 gerrit 2.16.9 交谈时遇到了这个问题

    我在 Jenkins 中找到了一个选项

    • Jenkins->管理 Jenkins->Gerrit 触发器
    • 编辑 Gerrit 实例
    • 点击高级
    • 确保启用“在所有 cmets 上触发,甚至是默认用户”

    不确定是否添加了此功能以解决此处记录的问题,但在启用此功能并重新启动 jenkins 后它解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      相关资源
      最近更新 更多