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 вопросов.)

Другие вопросы по тегам