Jenkins-如何使用curl,http发送布尔参数?

时间:2019-01-14 09:47:14

标签: api jenkins parameters boolean

我正在尝试使用curl,http-get将boolean参数发送给Jenkins,但没有成功。需要有人告诉我这是怎么回事。

我确实尝试将其发送为trueTrue1,但是这些都不起作用。

jenkins中的作业被设置为管道并被参数化。从GUI添加了3个参数:

  • bp1布尔值1
  • bp2布尔值2
  • sp字符串(该字符串用于检查是否已发送参数

默认值如下:

  • bp1-假
  • bp2-假
  • sp-空

管道代码:

stage ('bools') {
    echo 'bool 1 is:' + params.bp1
    echo 'bool 2 is:' + params.bp2
    echo 'string is:' + params.sp
}

用于调用构建的命令(在浏览器或邮递员中):

http://X.X.X.X/jenkins/job/bool_debug/buildWithParameters?token=booltest&bp1=true&bp2=false$sp='this is text from param'

预期结果为bool 1 is:true,但得到bool 1 is:false。从API调用时,詹金斯没有更改(勾选复选框)布尔参数。用其他方式:

我得到的是

Running in Durability level: MAX_SURVIVABILITY
[Pipeline] stage
[Pipeline] { (bools)
[Pipeline] echo
bool 1 is:false
[Pipeline] echo
bool 2 is:false
[Pipeline] echo
string is:'this is text from param'
[Pipeline] }
[Pipeline] // stage
[Pipeline] End of Pipeline
Finished: SUCCESS

应该是什么:

Running in Durability level: MAX_SURVIVABILITY
[Pipeline] stage
[Pipeline] { (bools)
[Pipeline] echo
bool 1 is:true    <--------------------------
[Pipeline] echo
bool 2 is:false
[Pipeline] echo
string is:'this is text from param'
[Pipeline] }
[Pipeline] // stage
[Pipeline] End of Pipeline
Finished: SUCCESS

1 个答案:

答案 0 :(得分:0)

面对同样的问题,认为这是詹金斯(Jenkins)错误。我最终创建了另一个管道,该管道使用参数作为触发方法来触发所需的管道。