The answer to this question didn't help so here is an example with StringParameterDefinition (just replace with sriptler.ScriptlerStringParameterDefinition if you're using the Scriptler alternative), you can find node names by opening a configured job xml:
configure { root ->
def paramDefs = root / 'properties' / 'hudson.model.ParametersDefinitionProperty' / 'parameterDefinitions'
paramDefs << 'com.seitenbau.jenkins.plugins.dynamicparameter.StringParameterDefinition' {
delegate.createNode('name', 'FirstParam')
delegate.createNode('__script', 'someScriptString')
__localBaseDirectory(serialization: 'custom') {
'hudson.FilePath' {
'default' {
delegate.createNode('remote', "${JENKINS_HOME}/dynamic_parameter/classpath")
}
delegate.createNode('boolean', true)
}
}
delegate.createNode('__remoteBaseDirectory', 'dynamic_parameter_classpath')
delegate.createNode('__classPath', '')
}
paramDefs << 'com.seitenbau.jenkins.plugins.dynamicparameter.StringParameterDefinition' {
delegate.createNode('name', 'SecondParam')
delegate.createNode('__script', 'someScriptString')
__localBaseDirectory(serialization: 'custom') {
'hudson.FilePath' {
'default' {
delegate.createNode('remote', "${JENKINS_HOME}/dynamic_parameter/classpath")
}
delegate.createNode('boolean', true)
}
}
delegate.createNode('__remoteBaseDirectory', 'dynamic_parameter_classpath')
delegate.createNode('__classPath', '')
}
...
}