Как переменная $ {it} установлена ​​в Jelly - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь добавить некоторые функциональные возможности в плагин Jenkins, написанный на Jelly + Java.

Ссылка на плагин: https://github.com/jenkinsci/gerrit-trigger-plugin

Например, в ресурсах / GerritServer / index.jelly:

            <f:entry title="${%Username}"
                     help="/plugin/gerrit-trigger/help-GerritUserName.html">
                <f:textbox name="gerritUserName"
                           value="${it.config.gerritUserName}"
                           default="${com.sonyericsson.hudson.plugins.gerrit.gerritevents.GerritDefaultValues.DEFAULT_GERRIT_USERNAME}"/>
            </f:entry>

переменная $ {it} на самом деле имеет тип GerritTrigger, поэтому у меня есть доступ ко всем открытым полям и методам из GerritTrigger.

Мой вопрос: как переменная it разрешается в тип GerritTrigger? Где это указано и как я могу его изменить? Возможно, я хотел бы получить доступ к методу из другого класса (кроме GerritTrigger), используя $ {it}.

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 30 августа 2018

После некоторых копаний кажется, что если у вас есть com / work / someapp / somelogic / someclass.java, вам нужно поместить свое представление в /com/work/someaoo/somelogic/index.jelly, и это как index.jelly сопоставлен с someclass.java

Затем, используя $ {it} внутри index.jelly, вы получите доступ к открытым методам и полям в someclass.java

...