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

Build parameters are not passed to declarative pipelines

XMLWordPrintable

      We're using List maven artifact version in a parameterized build to pass the application artifact version as a parameter to a declarative pipeline script. Unfortunately this does not work (using ${params.ESB_VERSION} as well as ${env.ESB_VERSION}) and the parameter name is always resolved to 'null'.

      Declarative pipeline script:

       

      pipeline {
          agent {
              label "docker"
          }
      
          stages {
              […]
      
              stage('Build image') {
                  agent {
                      dockerfile {
                          reuseNode true
                          registryUrl "https://registry.comapny.com"
                          registryCredentialsId "dcr-jenkins"
                          additionalBuildArgs "--pull --build-arg ESB_VERSION=${params.ESB_VERSION}"
                          dir "installation/app"
                      }
                  }
      
                  steps {
                      script {
                          docker {
                              app = docker.build "company/app"
                          }
                      }
                  }
              }
      
              […]
      
          }
      }
      
      

      Job execution:

       

       

      [Job_Name] Running shell script
      + docker build -t 0ed28f6bfba3f17d99c8f8689058b9f5c00e8bf3 --pull --build-arg ESB_VERSION=null -f installation/app/Dockerfile installation/app
      

      Note the ESB_VERSION=null string.

       

       

            gesh Gesh Markov
            stephan Stephan Austermühle
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: