Дескриптор плагина Jenkins с вложенными параметрами - PullRequest
0 голосов
/ 05 сентября 2018

Я пишу дескрипторы для чьего-либо еще шага конвейера jenkins plugin. Большинство шагов прямо, например,

mySimpleStep(param1: value1, param2: value2)

Однако для одного из шагов требуется параметр, представляющий собой карту двух других значений, поэтому фактический синтаксис вызова следующий:

myOtherStep(param1: value1, param2: [sub1: value2, sub2: value3])

Я не могу понять, как указать параметры в файле config.jelly для шага и / или обновить фактический класс Step, чтобы синтаксис вызова создавался правильно. Как я могу это сделать?

(param2 класс имеет свой собственный @DataBoundConstructor, если это имеет значение)

Обратите внимание, что это чей-то плагин, я не могу изменить реальный плагин.

1 Ответ

0 голосов
/ 01 октября 2018

Почти сдавшись, я наткнулся на ответ, глядя на исходный код плагина Microsoft Azure Storage. Вот шаги, которые мне нужно было сделать.

  1. Убедитесь, что класс param2 реализует Step, и добавьте к нему Description внутренний класс. Также необходимо иметь @DataBoundConstructor

  2. Создайте отдельный каталог дескрипторов для класса в ресурсах с собственными config.jelly и help-*.html файлами

  3. Измените config.jelly файла myOtherStep, чтобы он выглядел примерно так:

    <f:section title="General">
        <f:entry field="value1" title="First param" description="Simple parameter">
            <f:textbox/>
        </f:entry>
    
        <f:property field="value2">
            <st:include page="config.jelly"/>
        </f:property>
    
    </f:section>
    

Теперь класс config.jelly для комплексного параметра будет включен - и все работает как положено.

...