Я ответил similar question over here. Ниже приведен обновленный ответ со ссылками на документацию для самой последней версии, Klocwork 11.
Klocwork имеет WebAPI, который вы можете использовать для запроса этого типа информации с вашего любимого языка сценариев или, например, с помощью 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<oken=xxxx" http://localhost:8080/review/api
возвращает список всех открытых (состояние New и Существующие), не привел (статус Анализ) проблем, найденных в сборке с именем 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<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":[]}
Вы можете изменить параметры оси х и у для производства различной разбивки вопросов, например, по степени тяжести и вместо государства:
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 с действием отчета и обработки и форматирования ответа.