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

如何在Jenkins Pipeline中获取YAML文件的行号?

在Jenkins Pipeline中获取YAML文件指定内容的行号

readYaml步骤会把YAML解析成结构化对象,原始文件的行号信息会丢失,所以要实现和本地Groovy相同的功能,需要直接读取文件的原始文本并逐行处理。以下是可行的Pipeline代码:

node {
    def yamlContent = readFile file: 'release.yml'
    yamlContent.readLines().eachWithIndex { String line, int lineIndex ->
        // 替换为你要匹配的目标内容
        if (line.contains('key1')) {
            // 行号从1开始计数,所以给索引加1
            println "找到匹配行: '$line',行号: ${lineIndex + 1}"
        }
    }
}

关键说明:

  • 使用readFile读取文件原始文本,保留每行的原始内容和顺序
  • readLines()将文本拆分为行列表,方便遍历
  • eachWithIndex同时获取行内容和索引,索引从0开始,若需要常规的1起始行号,记得加1
  • 修改line.contains('key1')中的key1为你实际要查找的内容即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:10:39