是否有一个很好的示例使用Python jenkinsapi传递构建参数,为什么以下示例失败?

时间:2013-06-20 22:13:28

标签: python jenkins

我正在尝试使用Python jenkinsapi包调用作业。我能够使用jop.py启动构建没问题,但是当尝试将字符串参数传递给Jenkins服务器时,没有选择参数并且正在使用Jenkins服务器上配置的默认值。

以下是使用job.py调用我正在使用的一个简单示例:

my_job.invoke(securitytoken = 'mytoken', params = {'param1':'value1', 'param2':
'value2'})

同样,上面的内容在Jenkins服务器上成功启动了构建,但是服务器上的作业没有获取任何参数值,而是使用服务器上作业配置中的默认值。

有人可以告诉我上述用法有什么问题吗?是否还需要其他参数?有人有一个使用jenkinsapi调用参数化构建的示例吗?

这是针对jenkinsapi 0.1.16

1 个答案:

答案 0 :(得分:0)

在深入研究这个之后,事实证明URL没有正确构建。通过使用Python 2.6.4在版本0.1.16中更改jenkinsbase.py中的第91行,我终于能够正确地传递构建参数:

  • 如果params:stream = fn_urlopen(url,urllib.urlencode(params))
  • 如果params:stream = fn_urlopen(url +'?'+ urllib.urlencode(params))

在jenkinsbase.py中更改此行后,原始问题中的示例将构建参数正确传递到作业中。