We have a Jenkins job that calls MSBuild as an 'Execute Windows batch command' with a call along these lines:
\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe "C:\Builds\workspace\MySoftwre.sln" /p:Configuration=Release
I have a post-build event that we intended to use to publish results including the SHA-1 from our Git repo. It would appear that the Git plugin isn't forwarding that information though because when we try and output the following:
ECHO Jenkins Git Plugin GIT_COMMIT: $(GIT_COMMIT)
ECHO Jenkins Git Plugin GIT_BRANCH: $(GIT_BRANCH)
ECHO Jenkins Git Plugin GIT_PREVIOUS_COMMIT: $(GIT_PREVIOUS_COMMIT)
ECHO Jenkins Git Plugin GIT_PREVIOUS_SUCCESSFUL_COMMIT: $(GIT_PREVIOUS_SUCCESSFUL_COMMIT)
ECHO Jenkins Git Plugin GIT_URL: $(GIT_URL)
ECHO Jenkins Git Plugin GIT_URL_1: $(GIT_URL_1)
ECHO Jenkins Git Plugin GIT_URL_2: $(GIT_URL_2)
ECHO Jenkins Git Plugin GIT_URL_3: $(GIT_URL_3)
ECHO Jenkins Git Plugin GIT_AUTHOR_NAME: $(GIT_AUTHOR_NAME)
ECHO Jenkins Git Plugin GIT_COMMITTER_NAME: $(GIT_COMMITTER_NAME)
ECHO Jenkins Git Plugin GIT_AUTHOR_EMAIL: $(GIT_AUTHOR_EMAIL)
ECHO Jenkins Git Plugin GIT_COMMITTER_EMAIL: $(GIT_COMMITTER_EMAIL)
ECHO Workspace: %WORKSPACE%
I get this output:
Jenkins Git Plugin GIT_COMMIT:
Jenkins Git Plugin GIT_BRANCH:
Jenkins Git Plugin GIT_PREVIOUS_COMMIT:
Jenkins Git Plugin GIT_PREVIOUS_SUCCESSFUL_COMMIT:
Jenkins Git Plugin GIT_URL:
Jenkins Git Plugin GIT_URL_1:
Jenkins Git Plugin GIT_URL_2:
Jenkins Git Plugin GIT_URL_3:
Jenkins Git Plugin GIT_AUTHOR_NAME:
Jenkins Git Plugin GIT_COMMITTER_NAME:
Jenkins Git Plugin GIT_AUTHOR_EMAIL:
Jenkins Git Plugin GIT_COMMITTER_EMAIL:
Jenkins Workspace: /Builds/workspace
So it looks to me like ( contrary to the documentation on the wiki page - https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin ) the jenkins-git plugin environment variables aren't being forwarded.
I believe you need to use DOS style references, surrounding the name of the environment variable with the percent character.
When I did that, this was the job output: