15

我想知道是否有人知道需要什么 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 多个工作的测试套件的信息,并通过电子邮件报告所有这些工作。

4

1 回答 1

25

您可以使用符号描述符lastBuild

http://localhost/jenkins/job/<jobName>/lastBuild/api/xml

result元素包含一个描述构建结果的字符串。

于 2013-05-08T16:16:53.057 回答