1

如何在 klocwork Insights 10.0 中获取指定内部版本号的编号问题,我需要在 bash 脚本中使用它。

4

1 回答 1

4

Klocwork 有一个WebAPI,您可以使用它从 bash 脚本中查询此类信息,例如使用curl. 您的 Klocwork 服务器上还提供了 API 文档,地址为 http:// klocwork_server_host端口/review/api,例如http://localhost:8080/review/api

查询:

curl --data "action=search&user=my_account&project=my_project&query=build:build_1 status:Analyze state:New,Existing&ltoken=xxxx" http://localhost:8080/review/api

将返回在名为build_1的项目my_project的构建中发现的所有打开(状态NewExisting)、未引用(状态分析)问题的列表。

有关可在查询字符串中与搜索操作一起使用的关键字列表,请参阅在 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&ltoken=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 轴参数以生成不同的问题细分,例如通过 Severity 和 State 代替:

curl --data "action=report&user=my_account&project=my_project&build=build_3&x=Severity&y=State&filterQuery=state:New,Existing,Fixed&ltoken=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 食谱文档有一个使用 python 和报告操作以及处理和格式化响应的示例。

已编辑: 修复示例中的拼写错误:“&build:build_id”到“&build=build_id”

于 2015-02-27T20:51:05.357 回答