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

时间:2014-07-31 18:41:19

标签: git jenkins environment-variables jenkins-plugins

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

我看到其余的环境变量即。为每个jenkins工作准确设置GIT_URLGIT_BRANCHGIT_COMMITGIT_PREVIOUS_COMMIT

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

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

  1. 插件的错误
  2. Jenkins setup / config
  3. 的问题
  4. Github中的GIT配置问题..
  5. 请在这方面帮助我。

    谢谢!

    P.S。我还看到一个类似的问题没有得到答复(Github-plugin for Jenkins get committer and author name

2 个答案:

答案 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不会自动从插件设置。这些是您可以在单个作业或系统级别设置的变量。

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

  1. 在源代码管理中选择" Git"单选按钮并填写"存储库URL"和通常所做的凭据一样。
  2. 点击"高级..."按钮,将显示一些其他字段和下拉菜单
  3. 来自"附加行为"下拉菜单,选择"自定义用户名/电子邮件地址",这将为这些设置提供两个输入字段。
  4. 您可以通过选择" Manage Jenkins"在系统级别设置这些变量。 >> "配置系统"然后在" Git插件"中输入user.name和user.email的值。配置页面的一部分。