jenkins groovy 怎么透传参数给插件的 class new 的时候

242 天前
 guanzhangzhang

https://github.com/jenkinsci/extended-choice-parameter-plugin/pull/25 这个扩展选择参数的插件,发现不能像评论那样使用:

    extendedChoice( 
        defaultValue: 'One,Two,Three,Four', 
        description: '', 
        multiSelectDelimiter: ',', 
        name: 'SAMPLE_EXTENDED_CHOICE', 
        quoteValue: false, 
        saveJSONParameterToFile: false, 
        type: 'PT_CHECKBOX', 
        value:'One,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten', 
        visibleItemCount: 10)

我只能下面这样封装下后可以使用

def extendedChoice(Map params){

    def visibleItemCount = params.visibleItemCount ?: params.values.split(',').size()
    return new ExtendedChoiceParameterDefinition(
        params.name, //name,
        params.type, //type
        params.value, //value
        "", //projectName
        "", //propertyFile
        "", //groovyScript
        "", //groovyScriptFile
        "", //bindings
        "", //groovyClasspath
        "", //propertyKey
        params.defaultValue, //defaultValue
        "", //defaultPropertyFile
        "", //defaultGroovyScript
        "", //defaultGroovyScriptFile
        "", //defaultBindings
        "", //defaultGroovyClasspath
        "", //defaultPropertyKey
        "", //descriptionPropertyValue
        "", //descriptionPropertyFile
        "", //descriptionGroovyScript
        "", //descriptionGroovyScriptFile
        "", //descriptionBindings
        "", //descriptionGroovyClasspath
        "", //descriptionPropertyKey
        "", //javascriptFile
        "", //javascript
        false, //saveJSONParameterToFile
        false, //quoteValue
        visibleItemCount, //visibleItemCount
        params.description, //description
        params.multiSelectDelimiter //multiSelectDelimiter
    )
}

有没有啥两三行的传递,类似:

def extendedChoice(params){
  return new ExtendedChoiceParameterDefinition(params)
} 

我尝试了

def extendedChoice(Map params){
  return new ExtendedChoiceParameterDefinition(params)
} 

执行报错

java.lang.SecurityException: Unable to find constructor: new com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition java.util.LinkedHashMap
901 次点击
所在节点    Java
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1035049

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX