Git plugin for Jenkins: How do I set env variables GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL?

感情迁移 提交于 2019-12-08 15:29:33

问题


I have been trying to set the environment variables GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL so that the GIT plugin for Jenkins claims to be setting(https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin).

I see that the rest of the environment variables viz. GIT_URL, GIT_BRANCH, GIT_COMMIT, GIT_PREVIOUS_COMMIT are set accurately for each of the jenkins jobs.

I am testing this by printing out all the environment variables in a jenkins jobs shell script build step by using printenv.

Can somebody please let me know if I am missing something here ? Here are few of the possible reasons that I could think of..

  1. Bug with the plugin
  2. Issue with Jenkins setup/config
  3. Issue with GIT config in Github..

Please help me in this regard.

Thanks!

p.s. I also saw a similar question is left unanswered (Github-plugin for Jenkins get committer and author name)


回答1:


In reality these variables are available just when you overwrite the Author Name and Author Email on the Advanced features of the SCM configuration.

"Additional Behaviours" -> "Custom user name/email address"

This is described on the source code: https://github.com/jenkinsci/git-plugin/tree/master/src/main/java/hudson/plugins/git


Solution: In order to retrieve the author name and email I suggest scripting this:

GIT_NAME=$(git --no-pager show -s --format='%an' $GIT_COMMIT)
GIT_EMAIL=$(git --no-pager show -s --format='%ae' $GIT_COMMIT)

Being $GIT_COMMIT the SHA1 commit id.




回答2:


GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL are not automatically setup from the plugin. These are variables that YOU can setup in the individual job or at system level.

To setup these variables on a specific job, do the following:

  1. In the Source Code Management select the "Git" radio button and fill in the "Repository URL" and credentials as you would normally do.
  2. Click on the "Advanced ..." button, which will display a few additional fields and pull down menus
  3. From the "Additional Behaviours" pull down menu, select the "Custom user name/email address", which will provide two input fields for these settings.

You can set these variables at system level by selecting "Manage Jenkins" >> "Configure System" and then entering values for the user.name and user.email in the "Git plugin" section of the configuration page.



来源:https://stackoverflow.com/questions/25066567/git-plugin-for-jenkins-how-do-i-set-env-variables-git-author-email-and-git-comm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!