hudson - 使用 Hudson/Jenkins API 确定给定作业当前是否正在运行

标签 hudson jenkins hudson-api

是否有 API 可以确定给定作业当前是否正在运行?

理想情况下,我还希望能够确定其估计完成百分比并获取 SVN 修订号和提交评论的详细信息!

编辑:

我找到了答案。 http://host/job/project/lastBuild/api/ 几乎拥有我需要的所有内容!如果您开始手动构建,它不会告诉您 SCM 变更集,但这是有道理的。不过它仍然会告诉您最新的 SCM 版本,所以这很好。总而言之,对于我现在的目的来说已经足够了。

最佳答案

正如 gareth_bowles 和 Sagar 所说,使用 Jenkins API 是了解的方法。 如果将深度设置为 1,您将看到您要查找的内容:

http://host/job/project/lastBuild/api/xml?depth=1

您将看到有一个 <building> 标记来判断该构建是否正在运行

...
<build>
  <action>
    <cause>
        <shortDescription>Started by user Zageyiff</shortDescription>
        <userId>Zageyiff</userId>
        <userName>Zageyiff</userName>
    </cause>
  </action>
  <building>true</building>
  <duration>0</duration>
  <estimatedDuration>-1</estimatedDuration>
  <fullDisplayName>Project #12</fullDisplayName>
  <id>2012-08-24_08-58-45</id>
  <keepLog>false</keepLog>
  <number>12</number>
  <timestamp>123456789</timestamp>
  <url>
        http://host/job/project/12
  </url>
  <builtOn>master</builtOn>
  <changeSet/>
  <mavenVersionUsed>3.0.3</mavenVersionUsed>
</build>
...

关于hudson - 使用 Hudson/Jenkins API 确定给定作业当前是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7285891/

相关文章:

deployment - Jenkins-将构建推广到不同的环境

ant - 如何使用 jenkins 上的 ant 从 .product 构建 eclipse rcp 应用程序

mercurial - 如何配置Jenkins从Mercurial的不同分支构建项目

java - 文件上传 + 通过 HTTP POST 参数触发 Hudson 构建

python - 通过 Web API 设置 Hudson 构建描述

hudson - IntelliJ 使用单元测试生成 ant 构建?

git - Hudson git 未能将构建失败电子邮件发送至

android - 在 jenkins 上构建时包 BuildConfig 不存在

linux - 无法以 Jenkins 用户身份登录

c# - StyleCopTask 无法在 Hudson 服务器上加载