Rest api, чтобы получить количество ошибок на основе правил для проекта в Sonar
Я хочу знать, как подсчитать количество проблем в гидролокаторе на основе правил для данного проекта через REST API.
Спасибо аравинд
2 ответа
В нижней части каждой страницы пользовательского интерфейса SonarQube вы найдете ссылку на документацию по API для вашей версии. Взгляните на вопросы / поиск, которые вы можете квалифицировать по componentKeys
(идентификатор проекта). В ответе JSON (вы можете увидеть пример во встроенных документах) посмотрите на paging.total
Конечной точкой REST API, которая может отвечать на такие запросы, является api / questions / search.
Например, учитывая $KEY
проекта, вы можете найти количество вопросов, используя curl
и jq
инструмент как это:
curl "yourserver/api/issues/search?componentKeys=$KEY&ps=1" | jq .total
То есть:
- Установите ключ проекта в
componentKeys
параметр - Используйте минимальный размер страницы с
ps=1
чтобы минимизировать выход
Это вернет одну проблему, благодаря ps=1
, но в ответе JSON вы должны увидеть total
поле, которое содержит общее количество вопросов.
jq
инструмент даст вам чистый вывод одного числа, если у вас его нет, вы можете просто получить head
вместо ответа значение должно быть легко видно в верхней части, например:
$ curl "yourserver/api/issues/search?componentKeys=$KEY&ps=1" | jq .total
{
"total": 12,
"p": 1,
"ps": 1,
"paging": {
"pageIndex": 1,
"pageSize": 1,
"total": 12
},
"issues": [
(В этом примере в проекте 12 вопросов.)