首页 > 解决方案 > 从 Jenkins API 中选择构建信息

问题描述

是一种使用 Jenkins2 REST 调用获取所选构建信息但不知道作业名称(即不是每个作业,而是来自所有构建)的方法,例如 SQL:

select number,result from all_builds_in_jenkins;

?

标签: restjenkins

解决方案


您可以通过以下方式获取 json 文件中的所有内容:

http://jenkins.example.com/api/json?tree=jobs[name,builds[number,actions[parameters[name,value]]]]&pretty=true

样本输出:

{
  "jobs" : [
    {
      "name" : "Job name - Build",
      "builds" : [
        {
          "actions" : [
            {
              "parameters" : [
                {
                  "name" : "GIT_COMMIT_PARAM",
                  "value" : "5447e2f43ea44eb4168d6b32e1a7487a3fdf237f"
                }
              ]
            },
(...)

如果您只需要工作列表:

http://jenkins.example.com/api/json?tree=jobs[name,color]&pretty=true

样本输出:

{
  "_class" : "hudson.model.ListView",
  "jobs" : [
    {
      "_class" : "com.cloudbees.hudson.plugins.folder.Folder",
      "name" : "DEV"
    },
    {
      "_class" : "com.cloudbees.hudson.plugins.folder.Folder",
      "name" : "Libs"
    },
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "Dummy project",
      "color" : "red"
    },
  ]
}

推荐阅读