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

2023-12-27

我的目标是获得具有特定参数的最新 Jenkins 作业(作业名称 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>⏎  

这不完全是我想要的,因为我想要带有参数的作业 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 过滤的更多信息,请参阅一些示例here https://msdn.microsoft.com/en-us/library/ms256086%28v=vs.110%29.aspx.

替代方法

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

你可以做的是使用“-i”参数运行curl。当您执行此操作时,您应该会看到返回的队列项目 id #。

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

Returns:
HTTP/1.1 201 已创建
日期:2016 年 8 月 17 日星期三 03:15:28 GMT
X-内容类型选项:nosniff
地点:http://localhost:8080/queue/item/44/ http://localhost:8080/queue/item/44/
内容长度: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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何使用指定参数获取 jenkins 中的最新版本 的相关文章

随机推荐

  • 将鼠标悬停在 DIV 上时显示内容

    是否可以将鼠标悬停在 DIV 上时显示内容 看Image https i stack imgur com r4b0G jpg 当我将鼠标悬停在 div 上时 会发生转换 但是是否可以在悬停的 div 内显示内容 即 图片等 html div
  • 安全密码散列[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我需要在 Net WinForms 应用程序中存储单个密码的哈希值 最安全的方法是什么 尤其 盐 HMAC 还是两者兼而有之 多少盐 迭代了多少
  • 在 Material ui 中自定义扩展面板并覆盖样式

    我想在材质 ui 中自定义扩展面板 我发现由于扩展面板的默认样式 我想要在扩展面板上渲染的数据占用了太多空间
  • MySQL 表名按依赖顺序排序

    我想获取按其依赖顺序排序的表名称 例如 如果我有桌子users users orders and orders我想按以下顺序获取表名 users or orders不要紧 orders users orders 如果有办法请帮忙 听起来您正
  • Ubuntu 和 SSLv2_method 的未定义符号

    Canonical 是否在其 openssl 软件包版本中重命名符号 如果是 目的是什么 当我从头开始编译 openssl 1 0 0e tar gz 直接从 openssl org 下载 时 我看到了必要的符号 但 Python 和我 似
  • 如何在 _viewimports 文件中注入依赖项

    我正在尝试在 asp net Core 中生成通用 BaseViewPage 来访问当前用户的身份 为此 我创建了一个 BaseViewPage cs 文件 public abstract class BaseViewPage
  • UICloudSharingController 在 Xcode 11 中显示无限活动指示

    我有以下代码将 UICloudSharingController 导入到 swift UI 中 但第一次集成时 它只显示一个永不停止的活动指示器 然后第二次呈现 通过 sheet 时 没有活动指示器 第一次启动时 我可以看到右上角带有活动指
  • 比较 smarty 中的两个日期

    我有两个各自格式的日期 02 Dec 14 和 17 Dec 14 我想在 smarty 中比较这两个日期 我如何比较这两个日期 请帮忙 提前致谢 如果您将这些日期分配给 Smarty 例如这样 smarty gt assign date2
  • SplitContainer 中的固定面板高度

    我有一个 WinForm 其顶部包含一个 BindingNavigator 一个 splitContainer 其下方有两个水平面板 splitContainer 填充了 BindingNavigator 未占用的空间 我想将底部面板设置为
  • pandas 数据透视表列名

    对于这样的数据框 d id 1 1 1 2 2 Month 1 2 3 1 3 Value 12 23 15 45 34 Cost 124 214 1234 1324 234 df pd DataFrame d Cost Month Val
  • PHP & MySQL 函数从数据库中删除未选中的类别问题

    我有一个 PHP 函数 允许用户选择帖子应该显示的类别 我希望能够在用户取消选中复选框时从数据库中删除用户选择的类别 但我尝试的一切似乎都删除了所有用户类别或根本不起作用 有人可以帮我解决这个问题吗 这是我的 PHP 函数的一部分 它应该删
  • 如何终止使用 shell=True 启动的 python 子进程

    我使用以下命令启动子进程 p subprocess Popen cmd stdout subprocess PIPE shell True 但是 当我尝试使用以下命令杀死时 p terminate or p kill 该命令一直在后台运行
  • 如何从另一个对象的方法访问对象的属性,这是Python中的属性之一?

    我想知道是否可以 如果可以的话在实现组合时如何访问 超级 类实例的属性 下面提供的示例仅在此提供想法并为进一步的解释建立共同点 我想直接从对象 door DoorElement 类型 访问 MiniVan 实例的 id 属性 My Code
  • 从图例中删除 ggplot2 的 geom_point 图标

    注 这是后续这个问题 https stackoverflow com questions 44269950 force ggplot2 to apply a separate legend for each geom 首先是重现数据的代码
  • App Engine 停机时间

    Google 的 App Engine 是否有过多的停机时间 特别是在数据存储写入方面 此外 停机时间似乎安排在流量高的时间段 例如下午中间和凌晨 3 00 这是正常的吗 随着技术的成熟 它会有所改善吗 简短的答案 下午与清晨的停机时间 下
  • C 中相对于索引器的数组增量定位 - array[i]++ 与 array[i++]

    有什么区别array i 增加括号外 和array i 括号内递增 其中数组是 intarray 10 int a 1 2 3 4 5 int i 1 Second index number of the array a a i print
  • 如何从终端启动 iOS 模拟器?

    我可以使用 Xcode 命令行工具进行构建 有什么方法可以使用它们实际运行应用程序吗 例如相当于在 Xcode 中按 Cmd R 在终端中输入 open a Simulator app
  • file_get_contents() 有效链接上出现“无法打开流:网络无法访问”错误

    有一个在 php 中使用 Youtube API 的极其简单的示例 但在我的情况下却无法正常工作 而且我找不到明确的解决方案 我希望自己使用 Youtube API 而无需任何包装器来获取视频数据 下列search list当我尝试通过浏览
  • 值/对象的 NSDictionary 键? [复制]

    这个问题在这里已经有答案了 我们能得到一个对象的密钥吗 NSDictionary通过传递特定值或对象 NSDictionary allKeysForObject http developer apple com library ios do
  • 我如何使用指定参数获取 jenkins 中的最新版本

    我的目标是获得具有特定参数的最新 Jenkins 作业 作业名称 hanna 我这样做的唯一原因是当我从脚本触发时 Jenkins 不会返回内部版本号 因此我必须传入一个参数 但我必须能够稍后查询该参数 现在我有这个 它不返回构建 ID c