The following DSL does not correctly generate the choices - a, b, c - in the generated job. See attached screen shot.

      freeStyleJob('rag-test-job') {
      properties{
      promotions {
      promotion {
      name('Development')
      conditions {
      manual('araguero', parameters

      { choiceParam('myParameterName',['a','b','c'],'my description') }

      )
      }
      actions

      { shell('echo hello;') }

      }
      }
      }
      }

        1. Screen Shot 2016-10-11 at 1.27.35 PM.png
          Screen Shot 2016-10-11 at 1.27.35 PM.png
          32 kB
        2. 1.png
          1.png
          18 kB
        3. 2.png
          2.png
          59 kB

          [JENKINS-38913] DSL for choiceParam not working

          Alex Raguero created issue -

          Alex Raguero added a comment -

          Also not working for version Jenkins ver. 2.7.19.1 (CloudBees Jenkins Enterprise 2.7.19.1-rolling)

          Alex Raguero added a comment - Also not working for version Jenkins ver. 2.7.19.1 (CloudBees Jenkins Enterprise 2.7.19.1-rolling)

          Oleg Nenashev added a comment -

          jhavero Please create an issue to CloudBees ZenDesk then. In such case I may get this assignment to work on it during office hours. My personal time plans do not include dealing with Promoted Builds in short term, sorry. Or other engineers from CB Support/Engineering team may handle it.

          Oleg Nenashev added a comment - jhavero Please create an issue to CloudBees ZenDesk then. In such case I may get this assignment to work on it during office hours. My personal time plans do not include dealing with Promoted Builds in short term, sorry. Or other engineers from CB Support/Engineering team may handle it.
          ma pi made changes -
          Attachment New: 1.png [ 34718 ]
          ma pi made changes -
          Attachment New: 2.png [ 34719 ]

          ma pi added a comment - - edited

          I have same problem too.
          Add some information about this problem.

          Jenkins 2.19.1
          Job DSL Plugin 1.52
          Promoted Builds Plugin 2.27

          This is a small Job-DSL script reproduce this issue.

          job('JENKINS_38913') {
            description('reproduce JENKINS-38913')
            properties {
              promotions {
                promotion {
                  name('promote-me')
                  icon('star-red')
                  conditions {
                    manual('') {
                      parameters {
                        choiceParam('choice', ['a', 'b', 'c'], 'FIXME')
                      }
                    }
                  }
                }
              }
            }
          }
          

          After generate Job. Jenkins report warning.


          Generated config.xml is here.

          ${JENKINS_HOME}/jobs/JENKINS_38913/promotions/promote-me/config.xml
          <hudson.plugins.promoted__builds.PromotionProcess plugin="promoted-builds@2.27">
            <name>promote-me</name>
            <icon>star-red</icon>
            <conditions>
              <hudson.plugins.promoted__builds.conditions.ManualCondition>
                <users></users>
                <parameterDefinitions>
                  <hudson.model.ChoiceParameterDefinition>
                    <choices>
                      <a>
                        <string>a</string>
                        <string>b</string>
                        <string>c</string>
                      </a>
                    </choices>
                    <name>choice</name>
                    <description>FIXME</description>
                  </hudson.model.ChoiceParameterDefinition>
                </parameterDefinitions>
              </hudson.plugins.promoted__builds.conditions.ManualCondition>
            </conditions>
            <buildSteps/>
          </hudson.plugins.promoted__builds.PromotionProcess>
          

          Then, go back to the warning page and click "Discard Unreadable Data"
          Check config.xml again

          <?xml version='1.0' encoding='UTF-8'?>
          <hudson.plugins.promoted__builds.PromotionProcess plugin="promoted-builds@2.27">
            <keepDependencies>false</keepDependencies>
            <properties/>
            <scm class="hudson.scm.NullSCM"/>
            <canRoam>false</canRoam>
            <disabled>false</disabled>
            <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
            <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
            <triggers/>
            <concurrentBuild>false</concurrentBuild>
            <conditions>
              <hudson.plugins.promoted__builds.conditions.ManualCondition>
                <users></users>
                <parameterDefinitions>
                  <hudson.model.ChoiceParameterDefinition>
                    <name>choice</name>
                    <description>FIXME</description>
                    <choices/>
                  </hudson.model.ChoiceParameterDefinition>
                </parameterDefinitions>
              </hudson.plugins.promoted__builds.conditions.ManualCondition>
            </conditions>
            <icon>star-red</icon>
            <buildSteps/>
          </hudson.plugins.promoted__builds.PromotionProcess>
          
          <choices> ... </choices>

          section removed.

          finally, edit this job manually.
          Correct config.xml is here.

          <?xml version='1.0' encoding='UTF-8'?>
          <hudson.plugins.promoted__builds.PromotionProcess plugin="promoted-builds@2.27">
            <keepDependencies>false</keepDependencies>
            <properties/>
            <scm class="hudson.scm.NullSCM"/>
            <canRoam>false</canRoam>
            <disabled>false</disabled>
            <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
            <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
            <triggers/>
            <concurrentBuild>false</concurrentBuild>
            <conditions>
              <hudson.plugins.promoted__builds.conditions.ManualCondition>
                <users></users>
                <parameterDefinitions>
                  <hudson.model.ChoiceParameterDefinition>
                    <name>choice</name>
                    <description>FIXME</description>
                    <choices class="java.util.Arrays$ArrayList">
                      <a class="string-array">
                        <string>a</string>
                        <string>b</string>
                        <string>c</string>
                      </a>
                    </choices>
                  </hudson.model.ChoiceParameterDefinition>
                </parameterDefinitions>
              </hudson.plugins.promoted__builds.conditions.ManualCondition>
            </conditions>
            <icon>star-red</icon>
            <isVisible></isVisible>
            <buildSteps/>
          </hudson.plugins.promoted__builds.PromotionProcess>
          

          I guess Job-DSL plugin lost choiceParam type(type hint?).
          I hope this information to help.

          ma pi added a comment - - edited I have same problem too. Add some information about this problem. Jenkins 2.19.1 Job DSL Plugin 1.52 Promoted Builds Plugin 2.27 This is a small Job-DSL script reproduce this issue. job( 'JENKINS_38913' ) { description( 'reproduce JENKINS-38913' ) properties { promotions { promotion { name( 'promote-me' ) icon( 'star-red' ) conditions { manual('') { parameters { choiceParam( 'choice' , [ 'a' , 'b' , 'c' ], 'FIXME' ) } } } } } } } After generate Job. Jenkins report warning. Generated config.xml is here. ${JENKINS_HOME}/jobs/JENKINS_38913/promotions/promote-me/config.xml <hudson.plugins.promoted__builds.PromotionProcess plugin= "promoted-builds@2.27" > <name> promote-me </name> <icon> star-red </icon> <conditions> <hudson.plugins.promoted__builds.conditions.ManualCondition> <users> </users> <parameterDefinitions> <hudson.model.ChoiceParameterDefinition> <choices> <a> <string> a </string> <string> b </string> <string> c </string> </a> </choices> <name> choice </name> <description> FIXME </description> </hudson.model.ChoiceParameterDefinition> </parameterDefinitions> </hudson.plugins.promoted__builds.conditions.ManualCondition> </conditions> <buildSteps/> </hudson.plugins.promoted__builds.PromotionProcess> Then, go back to the warning page and click "Discard Unreadable Data" Check config.xml again <?xml version= '1.0' encoding= 'UTF-8' ?> <hudson.plugins.promoted__builds.PromotionProcess plugin= "promoted-builds@2.27" > <keepDependencies> false </keepDependencies> <properties/> <scm class= "hudson.scm.NullSCM" /> <canRoam> false </canRoam> <disabled> false </disabled> <blockBuildWhenDownstreamBuilding> false </blockBuildWhenDownstreamBuilding> <blockBuildWhenUpstreamBuilding> false </blockBuildWhenUpstreamBuilding> <triggers/> <concurrentBuild> false </concurrentBuild> <conditions> <hudson.plugins.promoted__builds.conditions.ManualCondition> <users> </users> <parameterDefinitions> <hudson.model.ChoiceParameterDefinition> <name> choice </name> <description> FIXME </description> <choices/> </hudson.model.ChoiceParameterDefinition> </parameterDefinitions> </hudson.plugins.promoted__builds.conditions.ManualCondition> </conditions> <icon> star-red </icon> <buildSteps/> </hudson.plugins.promoted__builds.PromotionProcess> <choices> ... </choices> section removed. finally, edit this job manually. Correct config.xml is here. <?xml version= '1.0' encoding= 'UTF-8' ?> <hudson.plugins.promoted__builds.PromotionProcess plugin= "promoted-builds@2.27" > <keepDependencies> false </keepDependencies> <properties/> <scm class= "hudson.scm.NullSCM" /> <canRoam> false </canRoam> <disabled> false </disabled> <blockBuildWhenDownstreamBuilding> false </blockBuildWhenDownstreamBuilding> <blockBuildWhenUpstreamBuilding> false </blockBuildWhenUpstreamBuilding> <triggers/> <concurrentBuild> false </concurrentBuild> <conditions> <hudson.plugins.promoted__builds.conditions.ManualCondition> <users> </users> <parameterDefinitions> <hudson.model.ChoiceParameterDefinition> <name> choice </name> <description> FIXME </description> <choices class= "java.util.Arrays$ArrayList" > <a class= "string-array" > <string> a </string> <string> b </string> <string> c </string> </a> </choices> </hudson.model.ChoiceParameterDefinition> </parameterDefinitions> </hudson.plugins.promoted__builds.conditions.ManualCondition> </conditions> <icon> star-red </icon> <isVisible> </isVisible> <buildSteps/> </hudson.plugins.promoted__builds.PromotionProcess> I guess Job-DSL plugin lost choiceParam type(type hint?). I hope this information to help.

          Added my vote, this bug is affecting my teams now as well.

          Andrew Ferguson added a comment - Added my vote, this bug is affecting my teams now as well.
          Kristan Stewart made changes -
          Component/s New: job-dsl-plugin [ 16720 ]
          Jesse Glick made changes -
          Labels New: regre
          Jesse Glick made changes -
          Labels Original: regre

            Unassigned Unassigned
            jhavero Alex Raguero
            Votes:
            6 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: