如何获取 Java 中 Jenkins 作业的状态?

How to get the status of a Jenkins job in Java?

我想通过java获取jenkins的job状态。

有什么API可以参考吗?

嗯,就在这里 https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API 是 API 参考

您可以使用以下 REST api link:

了解构建是成功还是失败

http://myJenkinsMachine/job/someJob/api/xml 您将获得以下 xml 和构建颜色(蓝色或任何其他颜色):

<freeStyleProject>

<description/>

<displayName>someJob</displayName>

<name>someJob</name>

<url>http://myJenkins/job/someJob/</url>

**<buildable>true</buildable>**

<build>

<number>4</number>

<url>http://myJenkins/job/someJob/4/</url>

</build>

<build>

<number>3</number>

<url>http://myJenkins/job/someJob/3/</url>

</build>

<build>

<number>2</number>

<url>http://myJenkins/job/someJob/2/</url>

</build>

<build>

<number>1</number>

<url>http://myJenkins/job/someJob/1/</url>

</build>

<color>blue</color>

<firstBuild>

<number>1</number>

<url>http://myJenkins/job/someJob/1/</url>

</firstBuild>

<healthReport>

<description>Build stability: No recent builds failed.</description>

<iconUrl>health-80plus.png</iconUrl>

<score>100</score>

</healthReport>

<inQueue>false</inQueue>

<keepDependencies>false</keepDependencies>

<lastBuild>

<number>4</number>

<url>http://myJenkins/job/someJob/4/</url>

</lastBuild>

<lastCompletedBuild>

<number>4</number>

<url>http://myJenkins/job/someJob/4/</url>

</lastCompletedBuild>

<lastStableBuild>

<number>4</number>

<url>http://myJenkins/job/someJob/4/</url>

</lastStableBuild>

<lastSuccessfulBuild>

<number>4</number>

<url>http://myJenkins/job/someJob/4/</url>

</lastSuccessfulBuild>

<lastUnsuccessfulBuild>

<number>3</number>

<url>http://myJenkins/job/someJob/3/</url>

</lastUnsuccessfulBuild>

<nextBuildNumber>5</nextBuildNumber>

<concurrentBuild>false</concurrentBuild>

<scm/>

</freeStyleProject>

http://myJenkinsMachine/job/someJob/api/xml?depth=4 - 获得更多细节直至 4 级 - 无论是否建造

<freeStyleProject>
<description/>
<displayName>somejob</displayName>
<name>somejob</name>
<url>http://myJenkins/job/somejob/</url>
<allBuild>
<action>
<cause>
<shortDescription>Started by user ancd</shortDescription><userId>ancd</userId><userName>ancd</userName></cause></action><action/>
**<building>false</building>**
<duration>236018</duration>