http - 如何在不使用 CLI 的情况下使用可变参数启动自动化 jenkins 作业

标签 http post jenkins http-post

场景:

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

要求:

目前,我可以在 jenkins 作业 Web 界面中指定定义此外部事件的参数并启 Action 业。但它是手动的(我必须这样做)。

我想以自动方式基于外部事件运行上面的作业,这意味着:

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

问题:

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

结论:

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

最佳答案

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

一些提示:

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

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

关于http - 如何在不使用 CLI 的情况下使用可变参数启动自动化 jenkins 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18753338/

相关文章:

android - 来自 Android 的 HTTP 补丁请求

curl - 发布文件位置

php - 在 Firebug 中发现 JQuery 语法错误,但在我的代码中没有

jenkins - 从 Jenkins Pipeline 发布到 Artifactory

groovy - jenkins:通过 Groovy API 设置根 url

c++ - 尝试使用 Qt 访问 Pastebin 时连接超时

java - 从 Java 程序发出 HTTP 请求的最佳方式是什么?

ios - 如何使用以下方法发帖 这里

node.js - Jenkins 找不到 npm

http - 去 - JSON-RPC - "too many colons"