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']
。这里 name1
和 name2
是你得到的工作名称。更多信息,请阅读this thread.
https://blahblahxxxxx/jenkins/api/xml?tree=jobs[displayName,lastBuild[number]]&xpath=hudson/job[displayName[. = 'name1' or . = 'name2']]&wrapper=job_names&pretty=true
希望对您有所帮助。
我想获取所有作业名称的列表及其按作业名称筛选的最后内部版本号。我尝试使用以下 -
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']
。这里 name1
和 name2
是你得到的工作名称。更多信息,请阅读this thread.
https://blahblahxxxxx/jenkins/api/xml?tree=jobs[displayName,lastBuild[number]]&xpath=hudson/job[displayName[. = 'name1' or . = 'name2']]&wrapper=job_names&pretty=true
希望对您有所帮助。