Я пытаюсь создать макрос с параметром перечисления, который связан с базой данных. Я использую функцию макроса пользовательского сценария 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)
Оба эти способа у меня не работают. Параметр никогда не создается и поэтому не отображается на панели параметров макроса (при добавлении его на страницу и редактировании).
Пожалуйста, не могли бы вы мне помочь и рассказать, где моя ошибка и что я не хватает?