使用REST API获取Jenkins Job的参数?

Abh*_*Pal 1 jenkins

我正在尝试使用 REST API 获取所有詹金斯作业,但无法弄清楚如何获取作业的参数。输出应该是参数名称,就像这个 REST API 的输出 -

http://localhost:8080/api/json?tree=jobs[名称]&pretty

输出:

{
  "_class" : "hudson.model.Hudson",
  "jobs" : [
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "PowerShellTest"
    },
    {
      "_class" : "com.cloudbees.hudson.plugins.folder.Folder",
      "name" : "Production"
    },
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "Test"
    },
    {
      "_class" : "com.cloudbees.hudson.plugins.folder.Folder",
      "name" : "TestFolder"
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowJob",
      "name" : "TestPipeline"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

这只是列出作业的名称,我也想要作业的参数列表,有什么办法吗?

PS - 我不需要上次成功构建的参数,我只想获取作业的参数。

zet*_*t42 5

可以这样实现:

http://localhost:8080/api/json?tree=jobs[name,color,url,actions[parameterDefinitions[name]],property[parameterDefinitions[name]]]&pretty
Run Code Online (Sandbox Code Playgroud)

对于不同的项目类型有两个子查询:

  • actions[parameterDefinitions[name]]- 对于自由式项目
  • property[parameterDefinitions[name]]- 用于管道项目