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

如何从Jenkins子作业获取父Build Flow作业的名称与构建编号

在Jenkins Build Flow子作业中通过Groovy获取父作业名称与构建编号

完全可以通过Groovy API实现这个需求,Jenkins的构建对象会保留上游触发构建的关联信息,直接调用相关方法即可提取父作业的信息。

实现代码示例

在子作业的DSL脚本中添加以下代码:

// 获取当前子作业的构建对象
def currentBuild = manager.build

// 获取所有上游构建(父作业的构建实例)
def upstreamBuilds = currentBuild.getUpstreamBuilds()

if (upstreamBuilds != null && !upstreamBuilds.isEmpty()) {
    // 取第一个上游构建(通常就是触发当前子作业的父作业构建)
    def parentBuild = upstreamBuilds.first()
    
    // 提取父作业名称与构建编号
    def parentJobName = parentBuild.project.name
    def parentBuildNumber = parentBuild.number
    
    // 输出信息(也可根据需求用于后续逻辑)
    println "父作业名称:${parentJobName}"
    println "父作业构建编号:${parentBuildNumber}"
} else {
    println "未检测到触发当前作业的上游父作业"
}

注意事项

  • 如果子作业可能被多个不同的父作业触发,需要根据实际业务场景添加判断逻辑,确保获取到正确的上游构建。
  • 确保执行脚本的Jenkins账号拥有访问上游作业与构建信息的权限,避免因权限不足导致获取失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:20:53