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

蛋糕

我的目标是获取具有特定参数的最新Jenkins职位(职位名称hanna)。

我这样做的唯一原因是Jenkins从脚本触发时不返回内部版本号,因此我必须传递一个参数,但稍后必须能够对该参数进行查询。

现在我有Rigth,它不返回构建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>⏎  

这不完全是我想要的,因为我也想使用参数的最新工作hanna实例,也要snapshot=bb返回该值snap=aa,而且我也无法弄清楚Jenkins上存储的构建ID的位置。有人可以告诉我吗?

丹尼尔·大本

如果您绝对需要使用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过滤的更多信息,请参见此处的一些示例

替代方法

要回答您的原始问题“我这样做的唯一原因是詹金斯在我从脚本触发时不返回内部版本号”,

您可以使用“ -i”参数运行curl。执行此操作时,您应该看到返回了队列ID#。

例如:
curl -X POST -i http//localhost:8080/job/test123/buildWithParameters?aaa=ABC

返回值:
HTTP / 1.1 201创建
日期:2016年8月17日星期三03:15:28 GMT
X-Content-Type-Options:nosniff
位置:http:// localhost:8080 / queue / item / 44 /
Content-Length:0
伺服器:Jetty(9.2.z-SNAPSHOT)

有了这个队列ID,您可以通过以下步骤获得内部版本号:
http://localhost:8080/queue/item/44/api/xml

哪个应该返回带有您要查找的数字的XML。

例如:

<leftItem>
   ...
   <executable _class="hudson.model.FreeStyleBuild">
      <number>11</number>
      <url>http://localhost:8080/job/test123/11/</url>
    </executable>
</leftItem>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确保我使用最新版本的bash?

来自分类Dev

如何在我的左内部联接中获取模块的最新版本?

来自分类Dev

如何从GitHub获取最新版本的代码?

来自分类Dev

如何获取最新版本的git?

来自分类Dev

如何获取Adobe Flash Player的最新版本?

来自分类Dev

如何获取最新版本的gzip?

来自分类Dev

如何从 Google Play 获取应用的最新版本?

来自分类Dev

从红宝石数组中获取最新版本

来自分类Dev

在bash中获取最新版本的openssl

来自分类Dev

获取最新版本的mono

来自分类Dev

获取最新版本的mono

来自分类Dev

Gajim - 获取最新版本

来自分类Dev

如何从npmjs获取我的软件包的最新版本

来自分类Dev

如何使用apt安装最新版本的Git?

来自分类Dev

如何使用apt安装最新版本的Git?

来自分类Dev

如何安装和使用最新版本的GNOME?

来自分类常见问题

如何仅在Selenium python中获取最新版本的href链接

来自分类Dev

如何在特定项目的TFS中获取最新版本

来自分类Dev

如何在flutter创建模板中获取软件包的最新版本

来自分类Dev

如何仅在Selenium python中获取最新版本的href链接

来自分类Dev

如何在ARM模板的“输出”部分中获取密钥的最新版本?

来自分类Dev

如果使用“获取最新版本”,如何知道将更新什么?

来自分类Dev

如何使用Beautifulsoup获取源程序包的最新版本

来自分类Dev

如何获取Java导入以使用最新版本?

来自分类Dev

如何找出我们在Gradle中包含的任何依赖项的最新版本?

来自分类Dev

如何强制PM2使用我的应用程序的最新版本?

来自分类Dev

如何使用composer在分支中安装最新版本?

来自分类Dev

如何在Liferay 7.2中使用DynamicQuery查询JournalArticle的最新版本

来自分类Dev

在Perforce中,如何安全地获取二进制文件(例如Excel文件)的最新版本,而不覆盖我的本地副本?

Related 相关文章

  1. 1

    如何确保我使用最新版本的bash?

  2. 2

    如何在我的左内部联接中获取模块的最新版本?

  3. 3

    如何从GitHub获取最新版本的代码?

  4. 4

    如何获取最新版本的git?

  5. 5

    如何获取Adobe Flash Player的最新版本?

  6. 6

    如何获取最新版本的gzip?

  7. 7

    如何从 Google Play 获取应用的最新版本?

  8. 8

    从红宝石数组中获取最新版本

  9. 9

    在bash中获取最新版本的openssl

  10. 10

    获取最新版本的mono

  11. 11

    获取最新版本的mono

  12. 12

    Gajim - 获取最新版本

  13. 13

    如何从npmjs获取我的软件包的最新版本

  14. 14

    如何使用apt安装最新版本的Git?

  15. 15

    如何使用apt安装最新版本的Git?

  16. 16

    如何安装和使用最新版本的GNOME?

  17. 17

    如何仅在Selenium python中获取最新版本的href链接

  18. 18

    如何在特定项目的TFS中获取最新版本

  19. 19

    如何在flutter创建模板中获取软件包的最新版本

  20. 20

    如何仅在Selenium python中获取最新版本的href链接

  21. 21

    如何在ARM模板的“输出”部分中获取密钥的最新版本?

  22. 22

    如果使用“获取最新版本”,如何知道将更新什么?

  23. 23

    如何使用Beautifulsoup获取源程序包的最新版本

  24. 24

    如何获取Java导入以使用最新版本?

  25. 25

    如何找出我们在Gradle中包含的任何依赖项的最新版本?

  26. 26

    如何强制PM2使用我的应用程序的最新版本?

  27. 27

    如何使用composer在分支中安装最新版本?

  28. 28

    如何在Liferay 7.2中使用DynamicQuery查询JournalArticle的最新版本

  29. 29

    在Perforce中,如何安全地获取二进制文件(例如Excel文件)的最新版本,而不覆盖我的本地副本?

热门标签

归档