我已经在服务器中下载并配置了Jenkins,我的问题是我需要通过Java访问Jenkins来执行一些过程,例如开始工作,返回当前工作任务以及返回服务器中的工作列表(全部使用Json)我试过几个代码,例如这个,但即时得到任何结果,也是我无法找到一个明确的方式来做到这一点,是有任何明确的API和例子办呢?
您可以通过XML 使用Jenkins API:
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"))); } } }
可以在此处找到完整的示例(包括源代码)。
如果这些示例不起作用,则可能是Jenkins Security(您的客户端必须提供登录数据才能发送请求)或CSRF保护(您必须在第一个请求之前检索令牌并将此令牌添加为每个请求的参数)。