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.

Reply via email to