如何使用 Jenkins Warnings Next Generation Plugin 正确解析多行警告?

How to properly parse multiline warnings using Jenkins Warnings Next Generation Plugin?

我正在尝试让 Jenkins Warnings Next Generation 插件能够解析跨越多行的警告消息,但不幸的是,该插件只匹配一行,不能匹配多行?

在插件的配置中,有一项功能可以在您尝试正则表达式时显示预览。在预览中,它似乎工作正常并捕捉到我的示例警告,但是当它试图通过控制台输出解析警告时,它无法捕捉到任何警告(我所有的警告都跨越多行)。

不确定为什么它在实际输出中不起作用但在预览中起作用。如果匹配只有 1 行,插件能够捕获多个警告。

你可以在这里看到我做了什么: https://regexr.com/4o3lq

我目前正在将其用于正则表达式以输入到插件配置中

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

警告由 \x08 特殊字符封装(请参阅 regexr)。 我认为模式修饰符(m 和 s)允许多行,但显然不允许。

提前致谢!

能够解决我的问题。

Jenkins 警告解析器预览有点误导,因为我认为以前的 Regex 足以捕获多行警告,但显然需要包含 \r。在插件源代码中,会检查正则表达式中是否包含 \r 或 \n,如果有,Groovy Parser 插件将启用多行支持。

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

可能需要也可能不需要模式修饰符中的 "m"。