【问题标题】:How to start an automated jenkins job with variable parameters without using CLI如何在不使用 CLI 的情况下启动具有可变参数的自动化 jenkins 作业
【发布时间】:2013-09-12 00:13:08
【问题描述】:

场景:

  1. Jenkins 正在我无权访问的服务器上运行。在这种情况下,我不能使用 jenkins CLI。
  2. 我确实可以通过 url 访问 jenkins 网络界面,我可以看到工作进度和所有内容。
  3. 有一个构建作业配置为由 jenkins 运行。它可以使用网络界面按需运行。

要求:

目前我可以在jenkins job web界面中指定定义这个外部事件的参数并启动job。但它是手动的(我必须这样做)。

我想根据外部事件以自动化方式运行上述作业,这意味着:

  1. 当外部事件发生时,指定此外部事件的参数开始构建,等待构建完成,然后如果发生另一个事件,重复。

问题:

不使用 jenkins CLI,我可以将定义外部事件的参数作为 url POST 参数传递给 jenkins url 吗?

结论:

这样我可以监控外部事件,如果发生,将其参数发送到 jenkins url 并开始构建。

【问题讨论】:

    标签: http post jenkins http-post


    【解决方案1】:

    您可以通过向 buildWithParameters 端点发送 POST 来启动作业。您也可以将一个查询字符串串在一起并 GET 到该端点。

    几个提示:

    • 如果您的 Jenkins 实例是安全的,那么您需要配置一个构建触发器令牌。
    • 如果您的 Jenkins 启用了 CSRF 保护,则任何 POST 都需要包含有效的 crumb。

    请参阅:https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Buildhttps://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

    【讨论】:

    • 你能给我一个 url 的例子,我可以用它来开始一个带参数的构建吗?另外,如果参数可以采用值列表,我将如何在 url 中声明值列表?
    • 假设您在zombo.com/jenkins/job/foobar 有一份工作。您可以在zombo.com/jenkins/job/foobar/… 处调用带有参数的构建
    • "您也可以将一个查询字符串串在一起并 GET 到该端点。" - 这对我不起作用。 Jenkins 说“你必须使用 POST 方法来触发构建。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多