I'd call it a misunderstanding more than an incompatibility. The git parameter is providing a filter which can *limit* the set of branches which might be included. The git parameter *cannot expand* the set of branches which might be included. The multibranch pipeline job definition controls the initial set of branches being requested into the workspace. The branch you're seeking is not being brought into the workspace.
Branch sources that use the REST API to detect changes (GitHub, Bitbucket, Gitea, GitLab) are intentionally optimized to only populate the workspace with the commits for the exact branch being built. That can save significant time and space with large repositories that contain multiple branches. If you require more history than the exact branch being built, then you'll likely need to adjust the checkout that you're using to populate the workspace. I'm not clear why you're using a branch parameter in a Pipeline job. Isn't it more effective to define a Jenkinsfile in each branch and then allow the multibranch pipeline to create and destroy jobs automatically as branches are created and destroyed? Mark Waite On Friday, February 21, 2020 at 1:53:56 AM UTC-7, judaondo wrote: > > Hello, > > I have the following pipeline that uses a method called "getServiceVersion" > from a Shared Library. > > > #!/usr/bin/env groovy > > @Library('mycom') > > import com.mycom.* > > // Declarative pipeline // > > properties([[$class: 'JiraProjectProperty'], buildDiscarder(logRotator( > artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', > numToKeepStr: '10')), disableConcurrentBuilds(), parameters([gitParameter > (branch: '', branchFilter: '.*', defaultValue: 'origin/integration', > description: 'Git Branch', listSize: '10', name: 'branch', > quickFilterEnabled: true, selectedValue: 'DEFAULT', sortMode: > 'ASCENDING_SMART', tagFilter: '*', type: 'PT_BRANCH')])]) > > def STAGE > > pipeline { > agent { label 'WindowsSlaveWS2016' } > > options { > timestamps () > ansiColor('xterm') > disableConcurrentBuilds() > } > > stages { > stage('Code checkout') { > steps { > echo '<< Checking out source code >>' > checkout([$class: 'GitSCM', branches: [[name: '${branch}' > ]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: > 'CloneOption', depth: 10, noTags: false, reference: '', shallow: true]], > submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'gitcredentials', > url: 'http://gitserver:8080/myproject']]]) > script { > STAGE=env.STAGE_NAME > } > } > } > stage('Get service version') { > steps { > script { > STAGE=env.STAGE_NAME > getServiceVersion('MY/Path', 'ChangeLog.txt', > 'myservice') > } > } > } > > } > > } > > > Please notice at the 'git parameter ( > https://plugins.jenkins.io/git-parameter/)' that fetchs all available > branches on the current repository and the selected default vale > 'origin/integration'. > > Since I am using shared library it doesn´t load all the available branches > and in fact it only displays origin/master instead of origin/integration. > > There is a kind of incompatibility? How can I fix this behaviour? > > [image: shared_lib_error.jpg] > > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/21911271-56fa-4231-921d-57de48f8fcb3%40googlegroups.com.