我有一个在Klocwork中运行的项目,在构建完成后,将生成Klocwork结果。每次我需要去Klocwork门户网站获取结果并查找新问题或总问题时。相反,我需要一个API或脚本来在构建成功时自动从Klocwork结果中获取问题的总数。
有什么方法可以做到这一点吗?一种方法是以html格式查看门户页面源代码,并获得所需的结果。然而,我认为可能有更好的解决方案。
有人能帮我做到这一点吗?
提前谢谢。
发布于 2016-10-05 20:24:15
我回答了一个similar question over here。以下是最新版本Klocwork11的更新答案,其中包含文档的链接。
Klocwork有一个WebAPI,您可以使用它从您最喜欢的脚本语言或curl中查询这种类型的信息。在http://:/review/api上的Klocwork服务器上也提供了应用程序接口文档,例如http://localhost:8080/review/api。
查询:
curl --data "action=search&user=my_account&project=my_project&query=build:build_1 status:Analyze state:New,Existing<oken=xxxx" http://localhost:8080/review/api将返回在项目my_project的名为build_1的构建中找到的所有打开(状态为New和Existing)、未引用(状态分析)问题的列表。
有关可在查询字符串中与搜索操作一起使用的关键字的列表,请参阅Searching in Klocwork Review。
如果您只想要缺陷数量的摘要,而不是获得整个列表,您可以使用报告操作:
curl --data "action=report&user=my_account&project=my_project&build:build_1&x=Category&y=Component&filterQuery=status:Analyze state:New,Existing<oken=xxxx" http://localhost:8080/review/api它按检查器类别(分类法)和组件返回缺陷数量的汇总。输出示例如下:
{"rows":[{"id":1,"name":"C and C++"},{"id":3,"name":"MISRA C"},{"id":4,"name":"MISRA C++"}],"columns":[{"id":5,"name":"System Model"}],"data":[[122],[354],[890]],"warnings":[]}您可以修改x轴和y轴参数,以生成问题的不同细分,例如,改为按严重性和状态:
curl --data "action=report&user=my_account&project=my_project&build:build_3&x=Severity&y=State&filterQuery=state:New,Existing,Fixed<oken=xxxx" http://localhost:8080/review/api输出:
{"rows":[{"id":1,"name":"Critical"},{"id":2,"name":"Error"},{"id":3,"name":"Warning"},{"id":4,"name":"Review"}],"columns":[{"id":-1,"name":"Existing"},{"id":-1,"name":"Fixed"},{"id":-1,"name":"New"}],"data":[[10,5,2],[20,6,1],[45,11,3],[1112,78,23]],"warnings":[]}WebAPI cookbook documentation有一个使用python处理report操作以及处理和格式化响应的示例。
https://stackoverflow.com/questions/39791250
复制相似问题