如何检查特定字符串的控制台输出并在构建时引发错误?

How to check the Console Output for a specific string and raise an error on the Build?

我已为构建项目配置 Hudson

构建后的控制台输出如下:

Compiling ./main.py ...
Sorry: IndentationError: ('expected an indented block', ('./main.py', 8, 6, 'thread.start_new_thread( foo.FooThread, () )\n'))
Compiling ./udpReceiver.py ...
<<<<< build finished!
POST BUILD TASK : SUCCESS
END OF POST BUILD TASK : 0

Deleting project workspace... 
done

Finished: SUCCESS

如您所见,我有一个缩进错误....并且 Hudson 表示构建作业已成功完成。

我想要的是这样的:

检查字符串“IndentationError”是否出现在控制台输出文本中...如果是,那么构建应该是: 已完成:失败!!!!!!!!!

我怎样才能做到这一点?

我确认 Log Parser plugin 可以完成将构建状态更改为失败的工作。

安装插件并为您的 Python 构建创建规则集,例如:

在创建 /var/lib/jenkins/logParserRules/python-error 文件中:

error /IndentationError/

接下来,使用这些设置更新 Python 构建:

构建状态将更改为失败:

Compiling ./udpReceiver.py ...'
Sorry: IndentationError: ('expected an indented block', ('./main.py', 8, 6, 'thread.start_new_thread( foo.FooThread, () )\n'))
Compiling ./udpReceiver.py ...
Build step 'Console output (build log) parsing' changed build result to FAILURE