Jenkins的Git插件:如何设置env变量GIT_AUTHOR_EMAIL和GIT_COMMITTER_EMAIL?

ara*_*m87 11 git environment-variables jenkins jenkins-plugins

我一直在尝试设置环境变量GIT_AUTHOR_EMAIL,GIT_COMMITTER_EMAIL以便Jenkins的GIT插件声称要设置(https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin).

我看到其余的环境变量即.GIT_URL,GIT_BRANCH,GIT_COMMIT,GIT_PREVIOUS_COMMIT为每个所述詹金斯作业准确地设定.

我通过使用在jenkins作业shell脚本构建步骤中打印出所有环境变量来测试它printenv.

如果我在这里错过了什么,有人可以告诉我吗?以下是我能想到的几个可能的原因..

  1. 插件的bug
  2. Jenkins setup/config问题
  3. Github中的GIT配置问题..

请帮助我这方面.

谢谢!

ps我也看到一个类似的问题没有答案(Jenns的Github-plugin获得提交者和作者姓名)

Cus*_*dio 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)
Run Code Online (Sandbox Code Playgroud)

作为$GIT_COMMITSHA1提交ID.


rgu*_*lia 0

GIT_AUTHOR_EMAIL 和 GIT_COMMITTER_EMAIL 不会从插件自动设置。这些是您可以在单个作业或系统级别设置的变量。

要在特定作业上设置这些变量,请执行以下操作:

  1. 在源代码管理中,选择“Git”单选按钮,然后像平常一样填写“存储库 URL”和凭据。
  2. 单击“高级...”按钮,该按钮将显示一些附加字段和下拉菜单
  3. 从“其他行为”下拉菜单中,选择“自定义用户名/电子邮件地址”,这将为这些设置提供两个输入字段。

您可以通过选择“管理 Jenkins”>>“配置系统”,然后在配置页面的“Git 插件”部分中输入 user.name 和 user.email 的值,在系统级别设置这些变量。