如何使用API查询Jenkins以了解它执行的最后几个构建。我不知道构建工作的名称。我只是希望Jenkins返回它执行的最后n个构建或在2个时间戳之间执行的构建
答案 0 :(得分:1)
要通过API查询构建结果,您必须知道Jenkins中的作业名称。您必须使用此后缀/api/json
附加您的jenkins作业网址,以获取 JSON 数据字符串。
例如:如果您的Jenkins服务器有一个名为 A_SLAVE_JOB 的作业,那么您必须在java rest客户端中执行 HTTP GET 在这一点上:http://<YourJenkinsURL>:<PortNumber>/job/A_SLAVE_JOB/api/json
这将返回一个String,其中包含所有构建历史记录URL(带数字),上次成功构建和上次失败的构建状态。
您可以使用 for 循环遍历给定作业的后续构建。您只需要一个JSON解析器,用于从JSON字符串中的键中提取值。您可以在java中使用org.json
库来进行解析。伪代码样本如下:
import org.json.*;
class myJenkinsJobParser {
public static void main(String... args){
JSONObject obj = new JSONObject("YOUR_API_RESPONSE_STRING");
String pageName = obj.getJSONObject("build").getString("status");
JSONArray arr = obj.getJSONArray("builds");
for (int i = 0; i < arr.length(); i++)
{
String url = arr.getJSONObject(i).getString("url");
// just a psuedoCode......
}
}
}
答案 1 :(得分:0)
总结一下。您必须请求信息的方式。在数字 0、5 以下是最新 5 个版本的范围。
curl -g "${SERVER}/job/${JOB}/api/json?pretty=true&tree=builds[number,url,result]{0,5}" \
--user $USER:$TOKEN