我想知道是否有人知道需要什么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:
lastBuild
http://localhost/jenkins/job/<jobName>/lastBuild/api/xml
该result元素包含描述生成的结果字符串。
result