4

设想:

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

要求:

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

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

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

问题:

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

结论:

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

4

1 回答 1

7

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

几个提示:

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

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

于 2013-09-12T01:52:31.937 回答