带有扩展选项参数插件的Groovy

时间:2015-11-20 23:03:44

标签: json groovy jenkins jenkins-plugins boon

我正在尝试使用Groovy脚本与Jenkins中的扩展选择参数插件一起使用:https://wiki.jenkins-ci.org/display/JENKINS/Extended+Choice+Parameter+plugin

从插件页面:groovy脚本应返回一个对应于"选项" https://github.com/jdorn/json-editor中提到的对象。示例脚本不起作用并抛出错误。

有人能告诉我如何让Boon.fromJSON()返回一个JSON编辑器对象吗?我的目的是让一个预先定义的设定值作为参数显示,每个都接受一个文本(即渲染为文本框)。

示例(遵循JSON编辑器方式):

{
  "value1": "",
  "value2": "",
  "value3": ""
}

即使可以在不使用Boon解析器的情况下完成,也应该没问题。

2 个答案:

答案 0 :(得分:1)

重要的是要注意Boon.fromJSON()String为参数。插件页面上的示例对于那些可能不太了解groovy的人来说并不是很清楚:

def jsonEditorOptions = Boon.fromJSON(/{
    disable_edit_json: true,
    ...
}/);

groovy中的/text/语法是Slashy String。如果您已经在使用此语法但未提供您的代码或收到错误,请忽略此。

答案 1 :(得分:1)

维基页面上的示例中存在拼写错误。

使用Boon.fromJson而不是Boon.fromJSON。

以下是在Jenkins页面上呈现编辑器的示例

import org.boon.Boon;
def jsonEditorOptions = Boon.fromJson(/{
        disable_edit_json: true,
        disable_properties: true,
        no_additional_properties: true,
        disable_collapse: true,
        disable_array_add: true,
        disable_array_delete: true,
        disable_array_reorder: true,
        theme: "bootstrap2",
        iconlib:"fontawesome4",
        schema: {
           "title": "Color Picker",
           "type": "object",
           "properties": {
           "color": {
           "type": "string",
           "format": "color"
           }
         }
       },
       startval: {
         color :"red"
       }
}/);