是否有 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/