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

在Jenkins Pipeline中从commitInfoAll数组提取提交哈希值

提取Jenkins Pipeline提交信息中的哈希值数组

没问题,在Jenkins Pipeline(基于Groovy)里可以通过正则匹配结合数组操作轻松实现这个需求。这里给你一个简洁可靠的解决方案:

实现代码

// 假设你的原始提交信息数组是commitInfoAll
def commitHashes = commitInfoAll.collect { commitEntry ->
    // 用正则精准匹配Commit: 后的40位十六进制Git哈希值
    def hashMatcher = commitEntry =~ /Commit: ([0-9a-f]{40})/
    // 匹配成功则返回哈希值,失败返回null
    hashMatcher.matches() ? hashMatcher[0][1] : null
}.findAll() // 过滤掉匹配失败的null项,只保留有效哈希值

代码说明

  1. 遍历处理每条提交信息:用collect方法逐个迭代commitInfoAll里的元素;
  2. 正则精准捕获哈希:/Commit: ([0-9a-f]{40})/专门匹配Git标准的40位十六进制哈希,避免误抓其他字符串;
  3. 清理无效数据:findAll()自动移除匹配失败产生的null值,确保最终数组里全是有效的提交哈希;

效果验证

如果你的commitInfoAll包含多条提交记录,运行这段代码后,commitHashes就会变成你想要的纯哈希数组,比如:

[acaf95bf73804bb3a3c10b0352c2d566506c26f5, a1720a49e7f0ed98c25a4119ae961b71d7e3fdc3]

内容的提问来源于stack exchange,提问作者Shahar Hamuzim Rajuan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:24:28