您需要同时使用text-finder 插件和 email-ext 插件才能实现这两个目标。
首先设置 text-finder 插件并提供适当的正则表达式。像:.*(?i)failed.*|.*(?i)error.*
会以不区分大小写的方式找到“失败”或“错误”这些词。您需要指定日志文件的路径,并且可能需要选中“也搜索控制台输出”复选框。
这将导致任何输出“失败”或“错误”的构建在 Jenkins 中失败。
您向失败的模块发送电子邮件的要求有点复杂,但可以使用 email-ext 插件。此插件允许您指定一个正则表达式,用于使用接受参数的特殊令牌收集电子邮件内容。完整的参数列表和令牌名称是:${BUILD_LOG_REGEX, regex, linesBefore, linesAfter, maxMatches, showTruncatedLines, substText, escapeHtml, matchedLineHtmlStyle}
这些参数中的大多数都是可选的,这样的事情应该可以为您解决问题:${BUILD_LOG_REGEX, regex=".*(?i)failed.*|.*(?i)error.*", linesBefore=10, linesAfter=10}
. 把它放在 email-ext 配置的“默认内容”部分。您也可以指定多个令牌,有关获取完整列表的说明,请参阅此答案:Jenkins Email-ext plugin - tokens
您当然可以编辑 LinesBefore 和 LinesAfter 参数以满足您的需要。