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

Jenkinsfile Active Choice Parameter

XMLWordPrintable

      How can i use this dsl script in Multibranch Pipeline jenkinsfile(declerative)?

       

      {{parameters {
      activeChoiceParam('States') {
      description('Select a state option')
      filterable()
      choiceType('SINGLE_SELECT')
      groovyScript

      { script('["Sao Paulo", "Rio de Janeiro", "Parana:selected", "Acre"]') fallbackScript('return ["ERROR"]') }

      }
      activeChoiceReactiveParam('Cities') {
      description('Active Choices Reactive parameter')
      filterable()
      choiceType('CHECKBOX')
      groovyScript {
      script('''
      if (States.equals('Sao Paulo'))

      { return ['Barretos', 'Sao Paulo', 'Itu']; } else if (States.equals('Rio de Janeiro')) \{ return ['Rio de Janeiro', 'Mangaratiba'] } else if (States.equals('Parana')) \{ return ['Curitiba', 'Ponta Grossa'] } else if (States.equals('Acre')) \{ return ['Rio Branco', 'Acrelandia'] } else \{ return ['Unknown state'] } ''') fallbackScript('return ["Script error!"]') }

      referencedParameter('States')
      }
      }}}

      When i use this script in jenkinsfile i get this error:

      WorkflowScript: 23: Build parameters definitions cannot have blocks @ line 23, column 5. activeChoiceParam('States') { ^

      WorkflowScript: 32: Build parameters definitions cannot have blocks @ line 32, column 9. activeChoiceReactiveParam('Cities') { ^

      2 errors

       

      {{at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
      at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
      at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
      at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
      at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
      at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
      at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
      at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
      at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
      at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:131)
      at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:125)
      at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:560)
      at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:521)
      at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:325)
      at hudson.model.ResourceController.execute(ResourceController.java:97)
      at hudson.model.Executor.run(Executor.java:429)}}

      Finished: FAILURE

            Unassigned Unassigned
            georgihagi Georgi Hagi
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: