Как я могу получить числовые номера указанного номера сборки в klocwork insights 10.0, мне нужно будет использовать это в сценарии bash.Klocwork Получить количество проблем в предоставленном номере сборки
ответ
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<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 с действием отчета и обработки и форматирования ответа.