【问题标题】:Passing choice parameter via url for building a parameterized job remotely通过 url 传递选择参数以远程构建参数化作业
【发布时间】:2019-11-02 20:03:12
【问题描述】:

我正在尝试通过 url 传递参数来远程构建参数化的 Jenkins 作业。

我尝试使用 POST 进行 curl 请求。

 http://user:passwd@jenkins_url/job/TestParameterizedBuild/buildWithParameters?string_param=abc123&bool_param=true&choice_param=Green&token=TOKEN_VAL

字符串和布尔参数分别得到正确的值 - abc123true。但是选择参数采用值Red 而不是Green。 [为choice_param 字段提供的选项是-Red, Green, Blue,按此顺序]。我想它总是采用默认值。 我是否错误地将值传递给选择参数choice_param

【问题讨论】:

标签: jenkins


【解决方案1】:

我找到了解决方法 - 以防您能够修改 Jenkins 作业

您需要做的就是将您的“选择参数”替换为“扩展选择参数”的类型,例如定义:

根据这个定义,它看起来像下拉列表,就像“选择参数”一样, 但它应该像“字符串参数”一样工作 对于上述参数,我使用 URL 链接触发构建:

http://illin123:8070/job/VAPP_BOUNCE/buildWithParameters?ACTION=ping

【讨论】:

    【解决方案2】:

    尝试使用 curl 并重建您当前的构建命令:

    http://user:passwd@jenkins_url/job/TestParameterizedBuild/buildWithParameters?string_param=abc123&bool_param=true&choice_param=Green&token=TOKEN_VAL

    进入 curl 构建命令:

    curl -X POST -u Login:Pass "http://jenkins_url/job/TestParameterizedBuild/buildWithParameters?string_param=abc123&bool_param=true&choice_param=Green&token=TOKEN_VAL"

    记得把链接放在引号“”中! 如果没有引号,您只传递第一个参数,其余参数将具有默认值。

    【讨论】:

      【解决方案3】:

      尝试传递字段(例如 1、2、3...)而不是传递选择参数的实际值。希望对您有所帮助。

      【讨论】:

      • 感谢您的回复。你的意思是-http://user:passwd@jenkins_url/job/TestParameterizedBuild/buildWithParameters?string_param=abc123&bool_param=true&choice_param=2&token=TOKEN_VAL?当我尝试这样做时,它将choice_param 的值作为2 而不是Green
      • 好的。然后尝试2.Green。我自己没有尝试过传递选择参数。如果此解决方案也不起作用,请告诉我。我会试一试,然后告诉你。
      • 感谢您的回复。这也不起作用。它始终显示默认选项Red
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多