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.
<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>
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.
Also not working for version Jenkins ver. 2.7.19.1 (CloudBees Jenkins Enterprise 2.7.19.1-rolling)