Jenkins 如何使用指定参数获取jenkns中的最新版本

Jenkins 如何使用指定参数获取jenkns中的最新版本,jenkins,jenkins-cli,Jenkins,Jenkins Cli,我的目标是使用特定参数获取最新的Jenkins作业(jobname hanna) 我这样做的唯一原因是Jenkins在我从脚本触发时不返回构建编号,因此我必须传入一个参数,但我必须能够稍后查询该参数 现在我有了这个,它不会返回构建ID: curl -X POST 'http://server:8080/api/xml?tree=jobs[name,builds[actions[parameters[name,value]]]]&xpath=/hudson/job[build/action

我的目标是使用特定参数获取最新的Jenkins作业(jobname hanna)

我这样做的唯一原因是Jenkins在我从脚本触发时不返回构建编号,因此我必须传入一个参数,但我必须能够稍后查询该参数

现在我有了这个,它不会返回构建ID:

curl -X POST 'http://server:8080/api/xml?tree=jobs[name,builds[actions[parameters[name,value]]]]&xpath=/hudson/job[build/action/parameter[name="snapshot"][value="bb"]]&pretty=true'
我得到的工作清单如下:

<job><name>hanna</name><build><action><parameter><name>snapshot</name><value>bb</value></parameter></action><action/><action/><action/><action/></build><build><action><parameter><name>snapshot</name><value>bb</value></parameter></action><action/><action/><action/><action/></build><build><action><parameter><name>snapshot</name><value>aa</value></parameter></action><action/><action/><action/><action/><action/></build><build><action/><action/><action/><action/></build></job>⏎  
hannasnapshotbbsnapshotbbsnapshotaa⏎  

这并不是我想要的,因为我想要的是作业hanna的最新实例,参数为
snapshot=bb
,这个返回值也是
snap=aa
,而且我也不知道构建ID存储在Jenkins上的什么位置。有人能告诉我吗?

如果您确实需要使用Jenkins Rest api调用来查询包含特定生成参数的特定生成编号,请使用以下查询:

http://localhost:8080/job/MyJenkinsJob/api/xml?tree=builds[actions[parameters[value]],number]&xpath=//build[action[parameter[value="MyParameterValue"]]]/number
这将返回类似于:

<number>49</number>

这个队列号的寿命很短,我必须不断轮询以查看是否分配了它,如果我错过了它,我必须找到另一种方法。如果有多个参数相同,是否有办法只获取最新的队列号?是的,我想可能有一种方法。XPath非常强大,包含许多函数。然而,这个答案已经很长了(甚至超越了另一种方法)。让我们今天到此为止,开始新的一天
<leftItem>
   ...
   <executable _class="hudson.model.FreeStyleBuild">
      <number>11</number>
      <url>http://localhost:8080/job/test123/11/</url>
    </executable>
</leftItem>