You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用XPath筛选获取Jenkins作业指定参数yaml_data的值

问题原因

Jenkins XML API的tree参数仅支持字段层级裁剪,不支持你写的contains(text(),yaml_data)这类XPath函数式文本过滤规则,你写的过滤谓词会被直接忽略,因此接口会返回所有参数的name和value字段,达不到过滤效果。

可用方案

方案1:使用xpath参数精准提取(推荐)

Jenkins XML API原生支持xpath参数传入标准XPath表达式做内容过滤,直接用下面的请求即可精准拿到yaml_data对应的value节点:

https://jenkins.myorg.com/job/architecture-shared-services/job/nyjobdata/lastBuild/api/xml?xpath=//parameter[name[text()='yaml_data']]/value

返回结果示例:

<value>mycoredatahere</value>

如果不需要外层XML标签、只想拿纯文本内容,把XPath改成取文本节点即可:

https://jenkins.myorg.com/job/architecture-shared-services/job/nyjobdata/lastBuild/api/xml?xpath=//parameter[name='yaml_data']/value/text()

方案2:tree参数仅做字段裁剪+本地过滤

tree参数本身不支持内容维度的过滤,如果一定要用tree,可以先裁剪掉不需要的冗余字段,拿到返回结果后在本地代码里过滤出yaml_data对应的取值,裁剪字段的请求写法如下:

https://jenkins.myorg.com/job/architecture-shared-services/job/nyjobdata/lastBuild/api/xml?tree=actions[parameters[name,value]]

注意:该请求仍然会返回所有构建参数,仅会去掉参数节点上的_class等无关属性,无法在接口侧完成过滤。

内容的提问来源于stack exchange,提问作者Chennai Cheetah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 05:06:21