Как вы создаете и изменяете параметры макроса с помощью раздела сценариев макроса пользовательского сценария Scriptrunners? - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь создать макрос с параметром перечисления, который связан с базой данных. Я использую функцию макроса пользовательского сценария Scriptrunners.

Я придумал два способа создать параметр и связать его с базой данных.

Во-первых: создать параметр с помощью кнопки «+ Параметр» (способ, которым Scriptrunner предполагает добавлять параметры)

Кнопка '+ Parameter'

и вызывает ее в скрипте для изменения:

paramters.testEnumParameter

Но это возвращает String, а не объект параметра -> Я не могу редактировать сам параметр (например, добавляя дополнительные перечисления)

Во-вторых: Создайте параметр в скрипте и управляйте им. Там я тоже пробовал два разных способа. Сначала я попытался создать параметр с помощью MacroParameterBuilder , а затем с помощью конструктора MacroParameter :

import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.macro.browser.beans.MacroParameterBuilder
import com.atlassian.confluence.macro.browser.beans.MacroParameter
import com.atlassian.confluence.macro.browser.beans.MacroParameterType
import groovy.xml.MarkupBuilder

//first way using MacroParametreBuilder
//different ways to generate the builder
//MacroParameterBuilder mpb = ComponentLocator.getComponent(MacroParameterBuilder)
//MacroParameterBuilder mpb = new MacroParameterBuilder()
//MacroParameterBuilder mpb = MacroParameterBuilder.builder()

//add settings
//mpb.setPluginKey('parameter-test').setMacroName('Parameter Test').setMacroName('enumTestParameter')
//mpb.setType(MacroParameterType.STRING).setRequired(true).setMultiple(false).setDefaultValue('').setHidden(false)

//build the macro parameter
//MacroParameter enumTestParameter = mpb.build()


//second way using constructor of the MacroParameter
//MacroParameter enumTestParameter = new MacroParameter('parameter-test', 'Parameter Test', 'enumTestParameter', MacroParameterType.STRING, true, false, '', true)

Оба эти способа у меня не работают. Параметр никогда не создается и поэтому не отображается на панели параметров макроса (при добавлении его на страницу и редактировании).

Пожалуйста, не могли бы вы мне помочь и рассказать, где моя ошибка и что я не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...