Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-57930

Pipeline script from SCM does not expand build parameters/env variables for declarative pipeline with yamlFile specified

XMLWordPrintable

      Reproduce step:
      1. Create a parameterized pipeline job.
      2. Add the string parameter called `branch`
      2. Configure the pipeline definition to `Get Pipeline script from SCM`.
      3. Update the section of `Branches to build` to `*/${branch}` as the parameter added above.
      4. Add the following code to the file `Jenkinsfile`.

      pipeline {
          agent {
              kubernetes {
                  label 'jks-builds'
                  yamlFile 'path/to/podTemplate.yaml'
              }
          }
      
          stages {
              stage('test') {
                  steps {
                       echo "test"
                  }
              }
          }
      }
      

      with the above reproducing steps you will get the following failed messages:

      hudson.plugins.git.GitException: Command "git fetch --tags --progress origin +refs/heads/${branch}:refs/remotes/origin/${branch} --prune" returned status code 128:
      stdout: 
      stderr: fatal: Couldn't find remote ref refs/heads/${branch}
      

      however, it works if you remove the directive of `yamlFile` or using the raw yaml string instead.

        1. jks_parameter_branch.png
          93 kB
          jubel han
        2. jks_scm_branch_env.png
          158 kB
          jubel han

            Unassigned Unassigned
            jubel jubel han
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: