czalidis
czalidis

Reputation: 61

Github-plugin for Jenkins get committer and author name

If I understand well, git plugin exposes committer and author names and emails to environmental variables GIT_AUTHOR_NAME, GIT_COMMITTER_NAME, GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL based on the global configuration of git. Is there a way to get that info using Github-plugin? Does Github-plugin exposes payload info, getting from github-webhook, to environmental variables or to something else?

Upvotes: 6

Views: 10564

Answers (4)

OMKAR CHAVAN
OMKAR CHAVAN

Reputation: 326

You can try for below command, it worked for me:

git log -n 1 --pretty=format:'%ae'

Upvotes: 2

Juan
Juan

Reputation: 118

You can use this workaround in your scripted pipeline file:

env.GIT_COMMITTER_EMAIL = sh(
   script: "git --no-pager show -s --format='%ae'",
   returnStdout: true
).trim()

Upvotes: 4

Custodio
Custodio

Reputation: 8934

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.

Upvotes: 8

Kanstantsin Shautsou
Kanstantsin Shautsou

Reputation: 771

You need check who is contributing this variables, github plugin only triggers git build that runs Git SCM (that is git-plugin). This variables probably injected by git-plugin.

Upvotes: 0

Related Questions