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

Fail to generate correct input step with choice param syntax from snippet generator

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • pipeline
    • None

      Snippet generator generates this for input step with choice parameters:

      input message: '', parameters: [[$class: 'ChoiceParameterDefinition', choices: ['option1', 'option2'], description: '', name: 'My param']]
      

      That code tries to use the @DataboundConstructor of ChoiceParameterDefinition which does not match with the required signature, thus this warning stack trace is shown on snippet generation time:

      May 04, 2016 10:25:46 AM org.jenkinsci.plugins.structs.describable.DescribableModel uninstantiate
      WARNING: Cannot create control version of class hudson.model.ChoiceParameterDefinition using {choices=[option1, option2], description=, name=select}
      java.lang.ClassCastException: hudson.model.ChoiceParameterDefinition.choices expects class java.lang.String but received class java.util.Arrays$ArrayList
      	at org.jenkinsci.plugins.structs.describable.DescribableModel.coerce(DescribableModel.java:317)
      	at org.jenkinsci.plugins.structs.describable.DescribableModel.buildArguments(DescribableModel.java:248)
      	at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:192)
      	at org.jenkinsci.plugins.structs.describable.DescribableModel.uninstantiate(DescribableModel.java:440)
      	at org.jenkinsci.plugins.structs.describable.DescribableModel.uninstantiate_(DescribableModel.java:466)
      	at org.jenkinsci.plugins.structs.describable.DescribableParameter.uncoerce(DescribableParameter.java:164)
      	at org.jenkinsci.plugins.structs.describable.DescribableParameter.uncoerce(DescribableParameter.java:158)
      	at org.jenkinsci.plugins.structs.describable.DescribableParameter.inspect(DescribableParameter.java:112)
      	at org.jenkinsci.plugins.structs.describable.DescribableModel.uninstantiate(DescribableModel.java:426)
      	at org.jenkinsci.plugins.structs.describable.DescribableModel.uninstantiate_(DescribableModel.java:466)
      	at org.jenkinsci.plugins.workflow.steps.StepDescriptor.defineArguments(StepDescriptor.java:114)
      	at org.jenkinsci.plugins.workflow.cps.Snippetizer.object2Groovy(Snippetizer.java:68)
      	at org.jenkinsci.plugins.workflow.cps.Snippetizer.doGenerateSnippet(Snippetizer.java:218)
      

      The generated snippet does not work later on runtime, throwing the same exception.

            jglick Jesse Glick
            amuniz Antonio Muñiz
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: