jenkinsci / jenkinsci/branch-api-plugin
[JENKINS-47226] Provide easy access to git branch name in (single branch) Pipeline build
- Dominant language
- Java
- Stars
- 39
- Forks
- 154
- PR merge metrics
- No merged PRs in 30d
Description
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
---
Originally reported by thesnoozer, imported from: Provide easy access to git branch name in (single branch) Pipeline build
Raw content of original issue
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
- environment:
LTS 2.73.1 (2017-09-13)
Contributor guide
Assessment
This issue has not been assessed yet.