Get git branch name in Jenkins Pipeline/Jenkinsfile

Alex Yurkowski picture Alex Yurkowski · Feb 22, 2017 · Viewed 110.2k times · Source

I've create a jenkins pipeline and it is pulling the pipeline script from scm.
I set the branch specifier to 'all', so it builds on any change to any branch.

How do I access the branch name causing this build from the Jenkinsfile?

Everything I have tried echos out null except

sh(returnStdout: true, script: 'git rev-parse --abbrev-ref HEAD').trim()

which is always master.

Answer

James picture James · May 14, 2017

Use multibranch pipeline.. not pipeline

In my script..

stage('Build') {
    node {
        echo 'Pulling...' + env.BRANCH_NAME
        checkout scm

    }
}

Yields...

Pulling...master