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

jljoyd4f  于 2022-12-17  发布在  Jenkins
关注(0)|答案(2)|浏览(152)

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

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>
2ledvvac

2ledvvac1#

您做得很好。但是您需要定义多值检查,而不是使用[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

希望这个有用。

6jygbczu

6jygbczu2#

displayName可以引用特定的构建名称和作业名称。这是否会更改此引用?
我的场景是,我希望使用API搜索构建历史,以找到部分匹配repo的提交哈希的构建历史。

相关问题