【问题标题】:how to use generic webhook + git parameter如何使用通用 webhook + git 参数
【发布时间】:2021-10-27 18:38:28
【问题描述】:

我有一个使用 git 参数插件的 jenkins 工作。其中一个参数是分支名称,它从列表中选择。效果很好。请注意,它设置的分支名称以“/”字符开头,因此分支“foo2/bar”出现为“/foo2/bar”。

然后我想添加一个通用的 webhook 来处理 github 应用程序事件,并自动开始构建。通用 webhook 插件允许您使用 JSONPath 从 pull_request 事件负载中提取元素。所以 '$.pull_request.head.ref' 获取分支名称。此分支没有前导斜杠。

问题是当我需要在 git 设置中放置“分支说明符”时。如果我只使用'${branch}',那么手动启动时它会失败,因为 rev-parse 不喜欢以'/'开头的引用。如果我尝试 'refs/heads$branch',它会从 webhook 失败,因为 head$branch 不会评估为真正的分支名称。与 'refs/heads/$branch' 相同:双斜杠被拒绝。 JSONPath 不允许添加任何字符,其余的只是过滤器。

我该如何解决这个难题?

我想避免创建多个作业来处理这个问题,因为有很多作业并且它会爆炸 jenkins 配置。

jenkins:2.303.1,git 参数插件 0.9.13,通用 webhook 插件 1.74。

【问题讨论】:

    标签: git jenkins-plugins webhooks


    【解决方案1】:

    想通了,它没有记录,但示例显示了方法。 有一个“分支过滤器”设置,它采用正则表达式。我以为这只是一个匹配/不匹配测试,但如果你使用'()',你可以指定要保留字符串的哪一部分。将其设置为类似 'origin/(.*)' 的内容解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2019-11-01
      • 2021-02-27
      • 1970-01-01
      • 2018-11-27
      • 1970-01-01
      • 2019-07-21
      • 2018-07-25
      • 1970-01-01
      • 2021-07-31
      相关资源
      最近更新 更多