Jenkins 詹金斯DSL动态参数

Jenkins 詹金斯DSL动态参数,jenkins,dsl,Jenkins,Dsl,这是我的配置块,用于生成动态参数。但它不起作用。有人能帮忙吗 configure { project -> def paramDefs = project / 'properties' / 'hudson.model.ParametersDefinitionProperty' / 'parameterDefinitions' paramDefs << 'com.seitenbau.jenkins.plugins.dynamicparameter.scriptle

这是我的配置块,用于生成动态参数。但它不起作用。有人能帮忙吗

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')
    }
}
配置{project->
def paramDefs=project/'properties'/'hudson.model.ParametersDefinitionProperty'/'parameterDefinitions'

paramDefs简短回答:不再使用该插件,只需将普通groovy代码与默认jenkins参数结合使用即可


完整答案:请查看此答案

简短答案:不再使用该插件,只需将普通groovy代码与默认jenkins参数结合使用即可


完整答案:请查看此答案

此问题的答案没有帮助,因此下面是一个StringParameterDefinition示例(如果使用Scriptler替代方案,请替换为sriptler.ScriptlerStringParameterDefinition),您可以通过打开配置的作业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', '') 
    }

    ...
}
配置{root->
def paramDefs=root/'properties'/'hudson.model.ParametersDefinitionProperty'/'parameterDefinitions'

paramDefs此问题的答案没有帮助,因此下面是一个StringParameterDefinition示例(如果您使用的是Scriptler替代方案,请替换为sriptler.ScriptlerStringParameterDefinition),您可以通过打开配置的作业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', '') 
    }

    ...
}
配置{root->
def paramDefs=root/'properties'/'hudson.model.ParametersDefinitionProperty'/'parameterDefinitions'
paramDefs