Jenkins环境变量将null值作为输出

时间:2017-06-20 14:01:33

标签: jenkins jenkins-pipeline

我正在尝试从jenkins multibranch管道中的groovy脚本访问github env.CHANGE_AUTHOR环境变量。

虽然某些环境变量提供了正确的输出(例如env.JOB_NAMEenv.BRANCH_NAME),但env.CHANGE_AUTHOR_DISPLAY_NAMEenv.CHANGE_AUTHOR_EMAIL等其他人正在提供null

以前有人遇到过这个问题吗?可能是什么问题?

2 个答案:

答案 0 :(得分:0)

我刚刚使用github org插件进行了测试,该插件使用了多分支插件,创建了一个PR,它所做的CI工作就有了这些env vars。使用Jenkinsfile:

node {
 echo "${env.getEnvironment()}"
}

在我的Jenkins PR构建控制台中,我看到其他人:

CHANGE_AUTHOR:rawlingsj, CHANGE_AUTHOR_DISPLAY_NAME:James Rawlings, CHANGE_AUTHOR_EMAIL:rawlingsj80@gmail.com, CHANGE_ID:1, CHANGE_TARGET:master, CHANGE_TITLE:test msg, CHANGE_URL:https://github.com/rawlingsj/multi-branch-test/pull/1

只是一个疯狂的猜测..你在公关提交中设置了git config user.namegit config user.email吗?如果是这样的话,值得一提的是你正在使用哪个版本的多分支插件,如果它的旧版本升级到最新版本。

答案 1 :(得分:0)

我认为这与git环境变量始终为null的现有错误有关:

https://issues.jenkins-ci.org/browse/JENKINS-36436

看起来最近修复了这个PR:

https://github.com/jenkinsci/git-plugin/pull/492