1

This is my configure block to generate dynamic parameters. But it is not working. Can someone help?

configure { project ->
    def paramDefs = project / 'properties' / 'hudson.model.ParametersDefinitionProperty' / 'parameterDefinitions'
    paramDefs << 'com.seitenbau.jenkins.plugins.dynamicparameter.scriptler.ScriptlerStringParameterDefinition' {
             name('BUILD_VERSION')
             description('Overall Build version')
            __remote(false)
            __scriptlerScriptId('**/build_versions.groovy')
    }
}
jrbedard
  • 3,662
  • 5
  • 30
  • 34
priyesh nn
  • 11
  • 3

2 Answers2

0

Short answer: Don't use the plugin anymore, just use normal groovy code in combination with the default jenkins parameters

Full answer: Please have a look at this answer https://stackoverflow.com/a/42230455/4486169

Community
  • 1
  • 1
Karel Striegel
  • 1,319
  • 1
  • 9
  • 8
0

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', '') 
    }

    ...
}
nouamane
  • 1
  • 1