我一直在尝试设置环境变量GIT_AUTHOR_EMAIL
和GIT_COMMITTER_EMAIL
,以便Jenkins的GIT插件声称正在设置(https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin)。
我看到其余的环境变量即。为每个jenkins工作准确设置GIT_URL
,GIT_BRANCH
,GIT_COMMIT
,GIT_PREVIOUS_COMMIT
。
我通过使用printenv
在jenkins作业shell脚本构建步骤中打印出所有环境变量来测试它。
如果我在这里错过了什么,有人可以告诉我吗? 以下是我能想到的几个可能的原因..
请在这方面帮助我。
谢谢!
P.S。我还看到一个类似的问题没有得到答复(Github-plugin for Jenkins get committer and author name)
答案 0 :(得分:8)
实际上,只有当您在SCM配置的高级功能上覆盖作者姓名和作者电子邮件时,这些变量才可用。
“其他行为” - > “自定义用户名/电子邮件地址”
这在源代码中描述: https://github.com/jenkinsci/git-plugin/tree/master/src/main/java/hudson/plugins/git
解决方案:为了检索作者姓名和电子邮件,我建议编写脚本:
GIT_NAME=$(git --no-pager show -s --format='%an' $GIT_COMMIT)
GIT_EMAIL=$(git --no-pager show -s --format='%ae' $GIT_COMMIT)
成为$GIT_COMMIT
SHA1提交ID。
答案 1 :(得分:0)
GIT_AUTHOR_EMAIL和GIT_COMMITTER_EMAIL不会自动从插件设置。这些是您可以在单个作业或系统级别设置的变量。
要在特定作业上设置这些变量,请执行以下操作:
您可以通过选择" Manage Jenkins"在系统级别设置这些变量。 >> "配置系统"然后在" Git插件"中输入user.name和user.email的值。配置页面的一部分。