2016-12-09 3 views
1

Ceci est mon bloc configure pour générer des paramètres dynamiques. Mais ça ne fonctionne pas. Quelqu'un peut-il aider?jenkins paramètres dynamiques DSL

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

Répondre

0

Réponse courte: Ne pas utiliser le plug-in plus, il suffit d'utiliser le code groovy normale en combinaison avec les jenkins par défaut les paramètres

réponse complète: S'il vous plaît jeter un oeil à cette réponse https://stackoverflow.com/a/42230455/4486169

0

La réponse à cette question n'a pas aidé alors voici un exemple avec StringParameterDefinition (remplacez simplement par sriptler.ScriptlerStringParameterDefinition si vous utilisez l'alternative Scriptler), vous pouvez trouver des noms de nœuds en ouvrant un travail configuré 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', '') 
    } 

    ... 
}