Как правильно разобрать многострочные предупреждения с помощью плагина Jenkins Warnings Next Generation? - PullRequest
1 голос
/ 04 ноября 2019

Я пытаюсь, чтобы плагин Jenkins Warnings Next Generation мог анализировать предупреждающие сообщения, которые занимают несколько строк, но, к сожалению, плагин соответствует только одной строке и не может выполнять многострочный?

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

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

Вы можете увидеть, что я сделал здесь: https://regexr.com/4o3lq

В настоящее время я использую это для ввода регулярного выраженияв конфигурацию плагина

(?ms)\x08(.*?)\x08

Предупреждение заключено в специальный символ \ x08 (см. regexr). Я думал, что модификатор режима (m и s) разрешит многострочное, но, очевидно, нет.

Заранее спасибо!

1 Ответ

0 голосов
/ 09 ноября 2019

Я смог решить мою проблему.

Предварительный просмотр анализатора предупреждений Jenkins немного вводит в заблуждение, поскольку я думал, что предыдущий Regex будет достаточно хорош для перехвата предупреждений из нескольких строк, но, очевидно, необходимо включить \ r. В исходном коде плагина есть проверка, которая определяет, включен ли \ Reg or \ n в регулярное выражение, и, если он есть, плагин Groovy Parser включит многострочную поддержку.

(?ms)\x08(.*?)\r?\x08

Может илиможет не понадобиться "m" в модификаторе режима.

...