Jenkins xml rest API 获取作业名称列表和按名称过滤的最后构建号

Jenkins xml rest API to get list of job names and last build number filtered by name

我想获取所有作业名称的列表及其按作业名称筛选的最后内部版本号。我尝试使用以下 -

https://blahblahxxxxx/jenkins/api/xml?tree=jobs[displayName,lastBuild[number]]&xpath=/hudson/job&includes=/hudson/job/displayName[contains(.,%27myjobnamefilter%27)]&wrapper=job_names&pretty=true

但这只提供所有作业及其最后的内部版本号,而不过滤作业名称。

例如

<job_names>
  <job>
    <displayName>blahjob</displayName>
    <lastBuild>
         <number>25</number>
    </lastBuild>
  </job>
  <job>
    <displayName>blahblahblahjob</displayName>
    <lastBuild>
         <number>49</number>
    </lastBuild>
  </job>
<job_names>

你做得对。但是您需要定义不使用 [contains(.,%27myjobnamefilter%27)] 的多值检查。而是使用 [. = 'name1' or . = 'name2']。这里 name1name2 是你得到的工作名称。更多信息,请阅读this thread.

https://blahblahxxxxx/jenkins/api/xml?tree=jobs[displayName,lastBuild[number]]&xpath=hudson/job[displayName[. = 'name1' or . = 'name2']]&wrapper=job_names&pretty=true

希望对您有所帮助。