我想知道是否有人知道需要什么 URL(作为 GET 或 POST)来获取最后一个 Jenkins 作业的状态代码(结果)(当调用 GET 请求的客户端不知道 build# 时)?我只想能够检测结果是 RED 还是 GREEN/BLUE 。
我有这个代码示例,但我需要调整它以便它适用于 Jenkins,为此目的(如上所述):
public class Main {
public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost/jenkins/api/xml");
Document dom = new SAXReader().read(url);
for( Element job : (List<Element>)dom.getRootElement().elements("job")) {
System.out.println(String.format("Name:%s\tStatus:%s",
job.elementText("name"), job.elementText("color")));
}
}
}
一旦我找出答案,我将分享一个完整的例子来说明我是如何使用它的。我想创建一个作业来收集有关 20 多个作业的测试套件的信息,并通过电子邮件报告所有这些作业。
最佳答案
您可以使用符号描述符 lastBuild
:
http://localhost/jenkins/job/<jobName>/lastBuild/api/xml
result
element 包含一个描述构建结果的字符串。
关于jenkins - 哪个 URL 将获得上一个 Jenkins 作业的状态代码(结果)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16445315/