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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/21911271-56fa-4231-921d-57de48f8fcb3%40googlegroups.com.