Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 从Jenkins管道捕获shell脚本输出_Git_Shell_Jenkins_Groovy_Jenkins Pipeline - Fatal编程技术网

Git 从Jenkins管道捕获shell脚本输出

Git 从Jenkins管道捕获shell脚本输出,git,shell,jenkins,groovy,jenkins-pipeline,Git,Shell,Jenkins,Groovy,Jenkins Pipeline,我正在尝试提取git分支并提交我的Jenkins文件中的信息,如下所示: def commit = sh(returnStdout: true, script: 'git rev-parse HEAD').trim() def branch = sh(returnStdout: true, script: 'git rev-parse --abbrev-ref HEAD').trim() 我试着在之后像这样打印它: println("Branch: ${branch}, Commit: ${c

我正在尝试提取git分支并提交我的Jenkins文件中的信息,如下所示:

def commit = sh(returnStdout: true, script: 'git rev-parse HEAD').trim()
def branch = sh(returnStdout: true, script: 'git rev-parse --abbrev-ref HEAD').trim()
我试着在之后像这样打印它:

println("Branch: ${branch}, Commit: ${commit}")
我没有得到真正的价值,只剩下以下几点:

Branch: org.jenkinsci.plugins.pipeline.modeldefinition.ClosureModelTranslator@545511bf, Commit: org.jenkinsci.plugins.pipeline.modeldefinition.ClosureModelTranslator@545511bf
我是否做错了什么,如何正确地检索所需的值


编辑:不,建议的副本不是答案,因为我知道用于检索所需信息的shell命令。我的问题是信息以
ClosureModelTranslator
而不是
字符串的方式传递给我

这条完整的管道适合你吗?使用管道插件2.4为我工作

pipeline {
  agent { label 'docker' }
  stages {
    stage("test_capture_output_and_print") {
      steps {
        script {
          def commitSha = sh(returnStdout: true, script: 'git rev-parse HEAD').trim()
          println("commitSha: ${commitSha}")
        }
      }
    }
  }
}

可能的重复如果你想读你声称是重复的帖子,你会注意到它不是重复的@KevinBurnetti试图提供帮助。这个问题的答案对获取分支和提交信息没有帮助吗?正如您可能已经注意到的,我的问题是另一种类型的。我确实在尝试该线程中的建议,但我得到的结果与它应该得到的结果不同。如果执行
sh'git rev parse HEAD>commit',是否会得到同样的坏结果;def commit=readFile('commit').trim()
?谢谢。我的错误是试图在脚本闭包之外访问这些值。