詹金斯&& Gihub webhook - 参数值数量非法

时间:2017-02-22 15:59:12

标签: github jenkins webhooks

我正在尝试使用Github的Webhook运行构建以获取带参数的作业( branch = master )。

来自Github - 我看到500错误,并在Jenkin的日志中留言:

  

引起:java.lang.IllegalArgumentException:分支的参数值非法数量:2

通话看起来像:

http://user:pass@jenkins.domain.tld:8080/job/PipelineBuild/buildWithParameters?token=triggerPipelieBuild&branch=master

如果使用curl运行它 - 会出现相同的错误,但会生成触发器。

Build有一个带一个值的参数。 网址相同 - branch=master

这里有什么问题(或者 - 我在这里做错了什么)?

为什么“分支的值:2” - 如果只有一个值 - “master”?

我发现here显然是错误,但为什么?

buildWithParameters token = triggerPipelieBuild branch = master 统计为两个参数?

但错误说:

  

分支的参数值数量:2”

另外 - 昨天工作了。同样的要求。

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 Typex-www-form-urlencoded更改为application/JSON来解决了这个问题。