Provide easy access to git branch name in (single branch) Pipeline build

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      Hello,

      I'm the maintainer of a maven-plugin (https://github.com/ktoso/maven-git-commit-id-pluginĀ ) that exposes certain repository information as properties into the build. A user of of this plugin reported that the branch name is not available with a single branch pipeline build under jenkins. From the plugin perspective we rely (especially for the branch identifier) on the environment properties that are being exposed by theĀ [Git Plugin|https://github.com/ktoso/maven-git-commit-id-pluginĀ ]. In particular we use the GIT_LOCAL_BRANCH or GIT_BRANCHĀ . Unfortunately with JenkinsĀ LTS 2.73.1 (2017-09-13) those environment variables are not available and thus making it impossible to retrieve the branch name.

      Thank you for your time.

      Ā 

      Note:

      During my initial debugging I noticed that a user could this get to work when using a parameterized build which is not really beautiful since the parameter used need to be set to GIT_LOCAL_BRANCH or GIT_BRANCH since its then automatically exposed as environment variable (would consider this a dirty hack)...

      pipeline {
          agent any
          parameters {
              string(defaultValue: 'master', description: 'branch', name: 'GIT_BRANCH')
          }
          
          stages {
              stage('Clone sources') {
                  steps {
                      git branch: "${params.GIT_BRANCH}", url: 'https://github.com/ktoso/maven-git-commit-id-plugin.git'
                  }
              }
              
              stage('Build printenv'){
                  steps {
                      sh 'printenv'
                  }
              }
          }
      }
      

      Ā 
      Original issue: https://github.com/ktoso/maven-git-commit-id-plugin/issues/325

            Assignee:
            Unassigned
            Reporter:
            S L
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Archived: