Jenkins环境变量输出空值

1mrurvl1  于 2022-11-21  发布在  Jenkins
关注(0)|答案(2)|浏览(310)

我正在尝试从jenkins多分支管道中的groovy脚本访问github env.CHANGE_AUTHOR环境变量。
虽然某些环境变量给出了正确的输出(例如env.JOB_NAMEenv.BRANCH_NAME),但其他变量(如env.CHANGE_AUTHOR_DISPLAY_NAMEenv.CHANGE_AUTHOR_EMAIL)给出了null值。
以前有人遇到过这个问题吗?问题是什么?

xxls0lw8

xxls0lw81#

我刚刚测试了github org插件,它使用了多分支插件,创建了一个PR和CI作业,它确实有这些env变量。使用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设置在提交的公关?如果是这样的话,值得一提的是,哪个版本的多分支插件,你正在使用和升级到最新的,如果它的旧。

6ss1mwsb

6ss1mwsb2#

我认为这与一个现有的bug有关,即git环境变量总是为空:
https://issues.jenkins-ci.org/browse/JENKINS-36436
它看起来像是最近在此PR中修复的:
https://github.com/jenkinsci/git-plugin/pull/492

相关问题