Нужно, чтобы регулярное выражение включало только определенные строки из вывода консоли в плагине email-ext в конвейере jenkins.

Необходимо включить определенные строки (некоторый идентификатор) из вывода консоли конвейера jenkins и отправить его с помощью плагина email-ext. Как я могу написать регулярное выражение для этого. Например:

Console ouput
published xyz
[servername] out: Built 123abcwxyabjd
few lines of o/p
[servername2] out: Built ewrewfdsfabcwxyabjd
again some o/p
[servername3] out: Built 1458543abcwxyabjd
published abc
some o/p
[servername2] out: Built dfds123abcwxyabjd
some o/p
[servername] out: Built dsfdsabcwxyabjd

Что мне нужно в о/п

published xyz
[servername] out: Built 123abcwxyabjd
[servername2] out: Built ewrewfdsfabcwxyabjd
[servername3] out: Built 1458543abcwxyabjd
published abc
[servername2] out: Built dfds123abcwxyabjd
[servername] out: Built dsfdsabcwxyabjd

еще одна проблема заключается в том, что этапы параллельны, то есть опубликованные xyz и опубликованные abc параллельны и будут выводить идентификаторы не в последовательности

Для меня я могу получить все строки, такие как

[servername] out: Built 123abcwxyabjd
[servername] out: Built 123abcwxyabjd



$(BUILD_LOG_REGEX, regex=".*(?=.*?Built).*?$

Для меня я могу получить все строки, такие как

[servername] out: Built 123abcwxyabjd
[servername] out: Built 123abcwxyabjd

но не в состоянии отличить от какой опубликованной стадии. Даже если я могу выбрать первые три идентификатора, а затем опубликовать текст, затем три идентификатора, а затем какой-то текст. Может быть, это будет полезно.


person Kumar Shanu    schedule 24.04.2019    source источник


Ответы (1)


Пытаться

^(.* out: Built|published ).*$

см. https://regex101.com/r/CuAYph/2. Также справа есть объяснение

person lojza    schedule 24.04.2019