Как получить все правила качества профиля с помощью веб-API?

Я провел анализ Sonarqube с Codescan. Количество возвращенных проблем намного превышает лимит веб-API 10000. Поэтому в моем клиенте / коде я хотел просмотреть все правила в профиле качества и вернуть все проблемы в соответствии с правилом.

Как я могу получить список правил, используя веб-API из Java?

2 ответа

Ты можешь использовать api/qualityprofiles/backup, Он принимает ключ профиля качества в качестве параметра и возвращает XML, содержащий все "активные правила".

Более новые версии SonarQube не имеют ограничений по 10K.
Вы должны зациклить n раз, чтобы собрать все результаты.
Например:
Рассмотрим проект с 44K проблем.
Сначала вы должны выяснить, сколько проблем вы должны прочитать, один раз вызвать / api / Issues / Search только с ключом вашего проекта и параметром ps (pagesize), равным 100
Http: /// апи / вопросы / поиск componentKeys = & пс = 100

Вы можете получить ответ, как этот

{ "Всего": 44130, "р": 1, "пс": 100, "пейджинг": { "pageIndex": 1, "PAGESIZE": 100, "всего":44130},"проблемы":[{" ключ ":"AVtoCSNP6OwvnmtEJjae"" RU..........

Таким образом, мы должны заявить о 44130 проблемах, используя размер страницы 100, тогда вы должны вызвать (44130 / 100) + 1 раз / api / Issues / Search для вашего проекта и для каждого запроса не забывайте увеличивать на 1 параметр p ( page) (чтобы вы могли указать правильную часть результатов)

Ваша последовательность команд будет такой

http: /// api / Issues / Search?componentKeys=YOUR_PROJECT_KEY>&ps=100&p=1 http:///api/ questions/search?componentKeys=YOUR_PROJECT_KEY>&ps=100&p=2 http:///api/ Issues/search?componentKeys=YOUR_PROJECT_KEY>&ps=100&p=3 .... http:///api/ questions/search?componentKeys=YOUR_PROJECT_KEY>&ps=100&p=442

Разберите результат каждого звонка, и вы получите список своих проблем.

ура

Massimo

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