2014-09-04 37 views

回答

1

Klocwork有一個WebAPI,您可以使用它從bash腳本查詢此類信息,例如curl。 API文檔還在您的Klocwork服務器上以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

有關可以在查詢字符串中使用搜索操作的關鍵字列表,請參見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&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軸參數按嚴重性和狀態,而不是生產的問題,不同的故障,例如:

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 cookbook documentation有一個使用python與報告操作並處理和格式化響應的示例。