我正在尝试使用Github的Webhook运行构建以获取带参数的作业( branch = master )。
来自Github - 我看到500错误,并在Jenkin的日志中留言:
引起:java.lang.IllegalArgumentException:分支的参数值非法数量:2
通话看起来像:
如果使用curl
运行它 - 会出现相同的错误,但会生成触发器。
Build有一个带一个值的参数。
网址相同 - branch=master
。
这里有什么问题(或者 - 我在这里做错了什么)?
为什么“分支的值:2” - 如果只有一个值 - “master”?
我发现here显然是错误,但为什么?
buildWithParameters
将 token = triggerPipelieBuild 和 branch = master 统计为两个参数?
但错误说:
“分支的参数值数量:2”
另外 - 昨天工作了。同样的要求。
答案 0 :(得分:1)
我在常规的webhook作业中遇到了完全相同的问题(在Jenkins 2.129中。)似乎无法处理多个URL参数,该参数在安全令牌之外留下了0个其他参数。
我的出路是使用'Generic Webhook Trigger Plugin'(另请参阅https://stackoverflow.com/a/48580407/321797)。
它不仅可以帮助处理所需数量的URL查询参数,而且更重要的是,它支持HTTP POST正文的解析。它很容易提取有效负载的值,将它们设置为变量并使用这些变量触发参数化的下游作业。
答案 1 :(得分:1)
即使这个问题很旧,如果有人遇到同样的问题,我也会给出答案。
我遇到了同样的问题。经过几次试验和错误,我设法通过将Content Type
从x-www-form-urlencoded
更改为application/JSON
来解决了这个问题。