Отладка Groovy во встроенном редакторе Jira Scriptrunner

Я программист, который только начинает работать с groovy в Jira, чтобы автоматизировать некоторые задачи.

Я пытаюсь написать собственный сценарий прослушивателя с помощью встроенного редактора в Jira, но до сих пор не пытался заставить работать программу Hello World.

Я не знаю, запущен ли скрипт и не вижу никаких выходных данных, и мне действительно нужна помощь в выяснении того, как отлаживать скрипт, желательно через выходы на какую-то консоль (или даже просто прочитав Jira журналы, если это необходимо), просто чтобы я действительно мог начать пытаться научиться использовать этот инструмент.

Я использую информацию ЗДЕСЬ в качестве общего руководства. чтобы начать обучение работе со встроенным редактором.

Для более подробного контекста вы можете увидеть еще один связанный с этим вопрос, который я задал ЗДЕСЬ.

Я установил уровень отладки на DEBUG для события, к которому я присоединяю слушателя, как показано на этом снимке экрана, на основе найденной информации ЗДЕСЬ: Debug Config

Вот скриншот встроенного редактора, в котором я работаю в JIRA. На этом снимке экрана я просто пытаюсь вывести «Hello» и только что нажал кнопку «Preview»:  введите описание изображения здесь

Как видите, на вкладке «Результат» внизу экрана нет ничего интересного. Вкладка «Журналы» также пуста, а на вкладке «Время» просто написано «Прошло: 0 мс, время процессора: 0 мс», поэтому кажется, что ничего не происходит.

Если я проверю журнал на сервере (в файле catalina.2017-10-13.txt), я увижу следующий результат:

13-Oct-2017 07:01:50.942 WARNING [http-nio-8080-exec-6] com.sun.jersey.spi.container.servlet.WebComponent.filterFormParameters A servlet request, to the URI http://somevmserver:8080/rest/scriptrunner-jira/latest/listeners/com.onresolve.scriptrunner.canned.jira.workflow.listeners.CustomListener/params, contains form parameters in the request body but the request body has been consumed by the servlet or a servlet filter accessing the request parameters. Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
13-Oct-2017 07:02:26.740 WARNING [http-nio-8080-exec-12] com.sun.jersey.spi.container.servlet.WebComponent.filterFormParameters A servlet request, to the URI http://somevmserver:8080/rest/scriptrunner/latest/canned/com.onresolve.scriptrunner.canned.common.StaticCompilationChecker, contains form parameters in the request body but the request body has been consumed by the servlet or a servlet filter accessing the request parameters. Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
13-Oct-2017 07:02:26.974 WARNING [http-nio-8080-exec-1] com.sun.jersey.spi.container.servlet.WebComponent.filterFormParameters A servlet request, to the URI http://somevmserver:8080/rest/scriptrunner-jira/latest/listeners/com.onresolve.scriptrunner.canned.jira.workflow.listeners.CustomListener/preview, contains form parameters in the request body but the request body has been consumed by the servlet or a servlet filter accessing the request parameters. Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.

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

У меня нет ошибок во встроенном редакторе, это действительно простой код, так что я не думаю, что это так.

Единственная другая информация, которую я могу включить и которая, на мой взгляд, уместна, заключается в том, что это тестовый экземпляр Jira, клонированный из нашей производственной среды, и его базовый URL-адрес по-прежнему установлен на URL-адрес среды prod. Не уверен, что это имеет какое-то отношение, но я не совсем администратор Jira, а просто программист, которому это поручено, поэтому я не хочу возиться там, где мне не нужно.

Спасибо!


person JEJoll    schedule 13.10.2017    source источник


Ответы (2)


При использовании скриптраннера в jira вам необходимо импортировать регистратор, чтобы использовать отладчик или выводить данные на консоль. Это можно сделать следующим образом:

// Enable debugger
import org.apache.log4j.Logger
import org.apache.log4j.Level

def log = Logger.getLogger("com.acme.CreateSubtask")
log.setLevel(Level.DEBUG)

А затем вы сможете просмотреть зарегистрированную информацию, используя log.debug "hello"

person Sandy Garrido    schedule 22.07.2019

Чтобы увидеть в журнале сообщение об отладке «Hello», необходимо обновить проблему в выбранном проекте. Вкладки Result, Logs и Timing внизу бесполезны в этом представлении. Просто запустите Listener с обновлением проблемы в выбранном проекте и выполните поиск сообщения отладки в файле atlassian-jira.log.

Подсказка: для просмотра журнала в браузере вы можете использовать это приложение jira https://marketplace.atlassian.com/plugins/com.cps.lastLog/server/overview

person Community    schedule 11.02.2018