如何使用jenkinsfile本身使jenkins发布cppcheck.xml?

Jen*_*989 0 groovy cppcheck jenkins jenkins-pipeline multibranch-pipeline

目前我有一个多分支管道作业,其中构建发生,cppcheck用于分析代码.但是,multibranch管道中没有"post build actions"选项卡可用于启用"发布cppcheck结果".我一直在网上寻找答案,但我找不到.

只有通用,构建触发器,高级项目选项和管道选项卡可用(我推荐了高级项目选项,没有选项可以在那里添加后期构建部分).

有没有办法使用jenkinsfile本身对cppcheck.xml发布进行硬编码?有没有我可以使用的语法将调用cppcheck插件来检查xml文件并发布它.这确实是一个紧急要求.我尝试了很多搜索将xml转换为其他格式,如html或jnuit xml.似乎没什么用.有人可以帮忙吗?

Cra*_*yon 6

为此,我使用Jenkins 警告插件和自定义解析器.

从3.8版开始,您可以在Jenkins的系统配置部分动态定义新的解析器.只需导航到http:// [jenkins-url]/configure并在编译器警告部分创建一个新的解析器.用户界面应该是自我解释的

使用此命令行生成文本文件而不是XML:

cppcheck --enable=all --template="{file},{line},{severity},{id},{message}" . 2> cppcheck.txt
Run Code Online (Sandbox Code Playgroud)

以下是模板参数的帮助:

--template='<text>'  Format the error messages. E.g.
                     '{file}:{line},{severity},{id},{message}' or
                     '{file}({line}):({severity}) {message}' or
                     '{callstack} {message}'
                     Pre-defined templates: gcc, vs, edit.
Run Code Online (Sandbox Code Playgroud)

更多信息可以在Cppcheck PDF 手册中找到.

我正在使用此正则表达式来解析文件:

^(.+),(\d+),(error|warning|style|performance|portability|information),(.*),(.*)$
Run Code Online (Sandbox Code Playgroud)