Я использую многоотраслевую сборку Jenkins DSL в паре с сообществом Sonarqube + плагин для ветки сообщества. До сих пор я использовал waitForQualityGate, чтобы получить качественные результаты Сонара в Дженкинсе, и он работал, как и ожидалось. Я проверял qg.status для отображения статуса сонара, но теперь я попытался включить более подробную информацию (список неудачных проверок) на своей странице работы. Проблема в том, что на стороне Дженкинса JSON распечатка waitForQualityGate просто:
{"status":"ERROR"}
Когда я проверяю на стороне сонара, я вижу, что ловушка выполняется с ожидаемой полезной нагрузкой:
{
"serverUrl": "http://localhost:9000",
"taskId": "AXGhfNdNVsTZztVdmx-_",
"status": "SUCCESS",
"analysedAt": "2020-04-22T10:43:26+0000",
"changedAt": "2020-04-22T10:43:26+0000",
"project": {
"key": "XXXXXX",
"name": "XXXXXX",
"url": "http://localhost:9000/dashboard?id=XXXXXX"
},
"branch": {
"name": "branch_name",
"type": "SHORT",
"isMain": false,
"url": "http://localhost:9000/project/issues?branch=branch_name&id=XXXXXX&resolved=false"
},
"qualityGate": {
"name": "MY_quality_gate",
"status": "ERROR",
"conditions": [
{
"metric": "new_reliability_rating",
"operator": "GREATER_THAN",
"value": "1",
"status": "OK",
"errorThreshold": "1"
},
{
"metric": "new_security_rating",
"operator": "GREATER_THAN",
"value": "1",
"status": "OK",
"errorThreshold": "1"
},
{
"metric": "new_maintainability_rating",
"operator": "GREATER_THAN",
"value": "3",
"status": "ERROR",
"errorThreshold": "1"
},
{
"metric": "new_coverage",
"operator": "LESS_THAN",
"value": "100.0",
"status": "OK",
"errorThreshold": "90"
}
]
},
"properties": {}
}
Обратите внимание, что полезная нагрузка имеет статус = SUCCESS и qualityGate.status=ERROR
, в то время как на стороне Jenkins она определяет status=ERROR
и вообще не имеет узла qualityGate?
В журнале консоли задания я могу найти: [Pipeline] waitForQualityGate
Checking status of SonarQube task 'AXGh4vchVsTZztVdmx_J' on server 'SonarQube'
SonarQube task 'AXGh4vchVsTZztVdmx_J' status is 'SUCCESS'
SonarQube task 'AXGh4vchVsTZztVdmx_J' completed. Quality gate is 'ERROR'
Я не могу найти какие-либо настройки на стороне Jenkins, которые могут быть связаны с этой проблемой (стандартные настройки установлены и нормально работают).
Используемая версия: Jenkins: 2.150.1 SonarQube Плагин сканера: 2.8.1 Sonarqube: 7.7.0.23042
Заранее спасибо за любые советы или предложения ...