Я использую плагин веток SonarQube (1.0 (сборка 507)) и хочу получать информацию из веток. Моя версия SonarQube - 6.7.
Проект SonarQube (PC_civil-affairs) имеет три ветви: master (основная), develop, feature_branch. Все это долгоживущие ветви.
Следующие вызовы извлекают информацию из главной ветви https://website.com/sonar/api/project_analyses/search?project=PC_civil-affairshttps://website.com/sonar/api/settings/values?component=PC_civil-affairs&keys=sonar.leak.periodhttps://website.com/sonar/api/qualitygates/project_status?projectKey=PC_civil-affairs
Как мне настроить приведенные выше вызовы для получения одной и той же информации из develop и feature_branch?





Я протестировал следующие решения на SonarQube 7.1.
project_analyses / поиск
Вам нужно добавить параметр branch. Пример:
https://website.com/sonar/api/project_analyses/search?project=PC_civil-affairs&branch=xyz
настройки / значения
Настройки одинаковы для всех веток, поэтому ваш URL правильный:
https://website.com/sonar/api/settings/values?component=PC_civil-affairs&keys=sonar.leak.period
qualitygates / project_status
К сожалению, я не нашел способа получить статус качественных ворот.
Конечная точка branches list существует со статусами шлюза качества для каждой ветви:
https://website.com/sonar/api/project_branches/list?project= $ projectKey. Это дает пример ответа, например:
{
"branches": [
{
"name": "feature/foo",
"isMain": false,
"type": "SHORT",
"mergeBranch": "master",
"status": {
"qualityGateStatus": "OK",
"bugs": 1,
"vulnerabilities": 0,
"codeSmells": 0
},
"analysisDate": "2017-04-03T13:37:00+0100"
},
{
"name": "master",
"isMain": true,
"type": "LONG",
"status": {
"qualityGateStatus": "ERROR"
},
"analysisDate": "2017-04-01T01:15:42+0100"
}
]
}
Если вы ищете статус конкретной ветки, вы можете передать его в такой инструмент, как jq, и отфильтровать что-то вроде:
| jq '.branches | .[] | {name: .name, status: .status.qualityGateStatus} | select(.name= = "master") | .status'
И это должно вернуть "ERROR" для статуса главной ветви.
спасибо! обнаружил, что это описание веб-сервиса доступно, когда я нажимаю «Показать внутренний API».