我正在尝试从jenkins多分支管道中的groovy脚本访问github env.CHANGE_AUTHOR环境变量。虽然某些环境变量给出了正确的输出(例如env.JOB_NAME、env.BRANCH_NAME),但其他变量(如env.CHANGE_AUTHOR_DISPLAY_NAME、env.CHANGE_AUTHOR_EMAIL)给出了null值。以前有人遇到过这个问题吗?问题是什么?
env.CHANGE_AUTHOR
env.JOB_NAME
env.BRANCH_NAME
env.CHANGE_AUTHOR_DISPLAY_NAME
env.CHANGE_AUTHOR_EMAIL
null
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.name和git config user.email设置在提交的公关?如果是这样的话,值得一提的是,哪个版本的多分支插件,你正在使用和升级到最新的,如果它的旧。
git config user.name
git config user.email
6ss1mwsb2#
我认为这与一个现有的bug有关,即git环境变量总是为空:https://issues.jenkins-ci.org/browse/JENKINS-36436它看起来像是最近在此PR中修复的:https://github.com/jenkinsci/git-plugin/pull/492
2条答案
按热度按时间xxls0lw81#
我刚刚测试了github org插件,它使用了多分支插件,创建了一个PR和CI作业,它确实有这些env变量。使用Jenkinsfile:
在我的Jenkins PR构建控制台中,我可以看到:
只是一个大胆的猜测...你有你的
git config user.name
和git config user.email
设置在提交的公关?如果是这样的话,值得一提的是,哪个版本的多分支插件,你正在使用和升级到最新的,如果它的旧。6ss1mwsb2#
我认为这与一个现有的bug有关,即git环境变量总是为空:
https://issues.jenkins-ci.org/browse/JENKINS-36436
它看起来像是最近在此PR中修复的:
https://github.com/jenkinsci/git-plugin/pull/492