【发布时间】: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