查询Jenkins最后几个版本

时间:2018-05-18 01:36:21

标签: api jenkins build

如何使用API​​查询Jenkins以了解它执行的最后几个构建。我不知道构建工作的名称。我只是希望Jenkins返回它执行的最后n个构建或在2个时间戳之间执行的构建

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