我已经在服务器中下载并配置了 Jenkins,我的问题是我需要通过 Java 访问 Jenkins 来执行一些过程,例如启 Action 业、返回当前工作作业以及返回服务器中的作业列表(所有这些)使用 Json)我尝试了几个代码,例如 this但我没有得到任何结果,我也找不到一个明确的方法来实现这一点,是否有任何明确的 API 和示例来做到这一点?
最佳答案
您可以使用Jenkins API通过 XML:
import org.dom4j.io.*;
import org.dom4j.*;
import java.net.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
URL url = new URL("http://your-hudson-server.local/hudson/api/xml");
Document dom = new SAXReader().read(url);
for( Element job : (List<Element>)dom.getRootElement().elements("job")) {
System.out.println(String.format("Job %s has status %s",
job.elementText("name"), job.elementText("color")));
}
}
}
完整的示例(带有源代码)可以在 here 找到.
如果这些示例不起作用,则可能是 Jenkins 安全性(您的客户端必须提供登录数据才能发送请求)或 CSRF 保护(您必须在第一个请求之前检索 token 并添加此 token 作为每个请求的参数)。
关于java - 如何使用java获取Jenkins中的工作列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21086380/