如何获取 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>
我想通过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>