詹金斯:传递多个“扩展参数选择”使用URL值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了詹金斯:传递多个“扩展参数选择”使用URL值相关的知识,希望对你有一定的参考价值。

一个在我Jenkins构建的参数是从构建网页调用编译时提交作为选择逗号分隔值的Extended Choice Parameter

不过,我也需要调用使用wget + URL构建。

因此,格式为:

wget "$JENKINS_URL/job/buildname/buildWithParameters?ECP_LIST=blah1&token=token"

说我的扩展选择参数ECP_LIST有可能的值:blah1,blah2,blah3,blah4。

如果我调用,例如:

wget "$JENKINS_URL/job/buildname/buildWithParameters?ECP_LIST=blah3&token=token"

构建开始罚款与价值blah3为EPC_LIST参数。

不过,如果我想有2个或多个值来调用它,它只是传递一个空值的参数。

我试着使用不同的东西,比如空格,逗号编码,分号分隔值。我已经没有任何运气在这里或谷歌上找到答案要么。

答案

包括单引号的网址工作:

wget '$JENKINS_URL/job/buildname/buildWithParameters?ECP_LIST=blah3&token=token'

同样,如果你想通过你会跑卷曲你的詹金斯API在卷曲:

curl -X POST 'http://api:xxxxxxxxxxxxxxxxxxxxxxx@jenkins.YOURSERVER.com/job/BUILDNAME/buildWithParameters?parameter2=blah&parameter2=blahblah'
另一答案

我没有选择ECP_LIST多次解决这个问题:

wget "$JENKINS_URL/job/buildname/buildWithParameters?ECP_LIST=blah1&ECP_LIST=blah2&ECP_LIST=blah3&token=token"

将导致:

ECP_LIST=blah1,blah2,blah3

我希望你的作品。

另一答案

你需要给它传递给wget,我认为,如果你的参数包含特殊字符前编码您的网址。我不喜欢这样的蟒蛇。我用卷曲。

url_params = 'param1' : param_value1, 'param2' : param_value2
params_encoded = urllib.urlencode(url_params)
params = ['curl.exe', '-v', '-X', 'POST', '--show-error', '%s?%s' % (JobUrl), params_encoded]
subprocess.check_call(params)
另一答案

这对我的作品!

curl -X POST -u "username:password" '$JENKINS_URL/job/buildnamebuildWithParameters?para1=value&para2=value'

以上是关于詹金斯:传递多个“扩展参数选择”使用URL值的主要内容,如果未能解决你的问题,请参考以下文章

在 JavaScript 中将多个数组值作为 url 变量传递

如何使用react将多个参数作为url中的对象传递

多个工作插件多次运行工作 - 詹金斯

Django:视图如何从 url 获取多个值?

无法在 Vue3 中传递多个道具

使用多个 onclick 侦听器将多个 url 传递给 recyclerview 中的 itemview