[JIRA] (JENKINS-55271) Jenkinsfile Active Choice Parameter

1 view
Skip to first unread message

georgihagi10@outlook.com (JIRA)

unread,
Dec 20, 2018, 1:31:02 AM12/20/18
to jenkinsc...@googlegroups.com
Georgi Hagi created an issue
 
Jenkins / Bug JENKINS-55271
Jenkinsfile Active Choice Parameter
Issue Type: Bug Bug
Assignee: Unassigned
Components: pipeline
Created: 2018-12-20 06:30
Environment: Jenkins 2.107.3
Priority: Critical Critical
Reporter: Georgi Hagi

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

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

georgihagi10@outlook.com (JIRA)

unread,
Dec 20, 2018, 3:04:01 AM12/20/18
to jenkinsc...@googlegroups.com
Georgi Hagi commented on Bug JENKINS-55271
 
Re: Jenkinsfile Active Choice Parameter

0down voteaccept
I solved that problem as follows:
 {{properties([
parameters([

[$class: 'ChoiceParameter', choiceType: 'PT_SINGLE_SELECT', description: 'Select a choice', filterLength: 1, filterable: true, name: 'choice1', randomName: 'choice-parameter-7601235200970', script: [$class: 'GroovyScript', fallbackScript: [classpath: [], sandbox: false, script: 'return ["ERROR"]'], script: [classpath: [], sandbox: false, script: 'return[\'aaa\',\'bbb\']']]],
[$class: 'CascadeChoiceParameter', choiceType: 'PT_SINGLE_SELECT', description: 'Active Choices Reactive parameter', filterLength: 1, filterable: true, name: 'choice2', randomName: 'choice-parameter-7601237141171', referencedParameters: 'choice1', script: [$class: 'GroovyScript', fallbackScript: [classpath: [], sandbox: false, script: 'return ["error"]'], script: [classpath: [], sandbox: false, script: 'if(choice1.equals("aaa")){return [\'a\', \'b\']} else {return [\'aaaaaa\',\'fffffff\']}']]]
])
])}}

o.v.nenashev@gmail.com (JIRA)

unread,
Dec 20, 2018, 5:09:03 AM12/20/18
to jenkinsc...@googlegroups.com
Oleg Nenashev updated an issue
Change By: Oleg Nenashev
Component/s: active-choices-plugin

o.v.nenashev@gmail.com (JIRA)

unread,
Dec 20, 2018, 5:09:03 AM12/20/18
to jenkinsc...@googlegroups.com
Oleg Nenashev updated an issue
Change By: Oleg Nenashev
Labels: pipeline

michaeldkfowler@gmail.com (JIRA)

unread,
Jan 11, 2019, 11:27:01 AM1/11/19
to jenkinsc...@googlegroups.com
Michael Fowler updated an issue
 
Jenkins / Task JENKINS-55271
Jenkinsfile Active Choice Parameter
Change By: Michael Fowler
Issue Type: Bug Task

michaeldkfowler@gmail.com (JIRA)

unread,
Jan 11, 2019, 11:27:02 AM1/11/19
to jenkinsc...@googlegroups.com
Change By: Michael Fowler
Status: Open Fixed but Unreleased
Resolution: Not A Defect

prasantakumarbarik@gmail.com (JIRA)

unread,
Jun 14, 2019, 11:16:04 AM6/14/19
to jenkinsc...@googlegroups.com

Hi Georgi,

 

Please could you let me know where have you put this code snippet in .groovy file or in jenkins file. And also in which location you have put.

 

 

 

jp@viv.ai (JIRA)

unread,
Jun 26, 2019, 9:33:02 PM6/26/19
to jenkinsc...@googlegroups.com
J P commented on Task JENKINS-55271

I am getting the same issue with the parameter separator plugin. Not sure it is localized to this. What is the correct way to do this in the job's DSL?

 

String sectionHeaderStyleCss = ' color: white; background: green; font-family: Roboto, sans-serif !important; padding: 5px; text-align: center; ' 
String separatorStyleCss = ' border: 0; border-bottom: 1px dashed #ccc; background: #999; ' 
pipelineJob("Foo-job") { description("FOO with separators") 
parameters {
 parameterSeparatorDefinition { name('FOO_1') separatorStyle(separatorStyleCss) sectionHeader('FOO_1') sectionHeaderStyle(sectionHeaderStyleCss) 
}

 

{{}}

Reply all
Reply to author
Forward
0 new messages