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

build parameter availability in DSL from pipelines

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Minor Minor
    • job-dsl-plugin
    • None
    • Jenkins 2.10
      JOB DSL 1.48

      I am trying to execute a grrovy DSL script as part of a pipeline. The basic structure is as follows

              step([
                  $class: 'ExecuteDslScripts',
                  scriptLocation: [targets: ['myseed.groovy'].join('\n')],
              ])
      

      The pipeline job contains a string parameter named as gitProject. Trying to access it's value by using "${gitProject}" from within the groovy DSL results in an error that says gitProject is not defined. Trying to wrap the step as follows doesn't help either

          withEnv(["gitProject=$gitProject"]) {
              sh 'set'
              step([
                  $class: 'ExecuteDslScripts',
                  scriptLocation: [targets: ['myseed.groovy'].join('\n')],
              ])
          }
      

      My guess is that the withEnv approach would not work as job DSLs do not have access to all environment variables; only whitelisted ones and build parameters make it. So I guess some change needs to be done to the plugin to ensure that it is able to access build parameters from within pipelines as well

            daspilker Daniel Spilker
            anomalizer Arvind Jayaprakash
            Votes:
            8 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: