Depending on the SCM plugin you are using, the checkout
step may return additional information about the revision. This was resolved in JENKINS-26100. It was released in the 2.6 version of the workflow-scm-step
plugin.
For example, using the Git plugin, you can do something like:
final scmVars = checkout(scm)
echo "scmVars: ${scmVars}"
echo "scmVars.GIT_COMMIT: ${scmVars.GIT_COMMIT}"
echo "scmVars.GIT_BRANCH: ${scmVars.GIT_BRANCH}"
This will vary depending on the plugin you use, so the original answer may work better for you.
Original Answer
With the 2.4 release of the Pipeline Nodes and Processes Plugin, you can simply do:
def gitCommit = sh(returnStdout: true, script: 'git rev-parse HEAD').trim()
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…