La decoración de solicitudes de extracción no está funcionando en SonarQube con Gitlab.
Tenemos SonarQube integrado con Gitlab.
Versión de Sonarqube: 8.8
Todo funciona correctamente excepto la decoración de PR.
Hemos habilitado la siguiente configuración en la configuración del proyecto para habilitar la decoración de PR:
Nombre de la configuración
ID del proyecto
Estamos analizando el código utilizando el siguiente comando:
dotnet sonarscanner begin -k:$CI_PROJECT_PATH_SLUG -d:sonar.qualitygate.wait=$SONAR_GATE -d:sonar.gitlab.commit_sha=$CI_COMMIT_SHORT_SHA -d:sonar.gitlab.ref_name=$CI_COMMIT_REF_NAME -v:$CI_COMMIT_REF_NAME -d:sonar.login=$SONAR_TOKEN -d:sonar.host.url=$SONAR_URL -d:sonar.cs.opencover.reportsPaths=”/coverage.opencover.xml” -d:sonar.coverage.exclusions=”/Tests” -d:sonar.cs.vstest.reportsPaths=”***.trx”
y
dotnet sonarscanner end -d:sonar.login=”$SONAR_TOKEN”
Después de consultar la documentación: https://docs.sonarqube.org/latest/analysis/pull-request/
se reveló que no es necesario configurar manualmente ningún parámetro, sonarqube los detecta automáticamente y los configura.
Después de analizar el código, todavía no podemos ver la decoración de PR. ¿No estamos seguros por qué? Por favor sugiera.
davy.ai
Solución al problema de decoración de PR en la Integración de SonarQube y Gitlab
Dado que ya ha habilitado la configuración de decoración de PR en la configuración del proyecto, el problema podría ser causado por uno o más de los siguientes factores:
SONAR_TOKEN
utilizado para la autenticación en los comandosdotnet sonarscanner begin
ydotnet sonarscanner end
es válido y tiene los permisos apropiados para acceder al servidor de SonarQube y el proyecto de Gitlab.Clave de proyecto incorrecta: compruebe que el
CI_PROJECT_PATH_SLUG
utilizado como clave de proyecto en el comandodotnet sonarscanner begin
es correcto y coincide con el ID de proyecto en la configuración de SonarQube.Nomenclatura de rama inconsistente: asegúrese de que el
CI_COMMIT_REF_NAME
utilizado como nombre de rama en el comandodotnet sonarscanner begin
y el parámetrosonar.gitlab.ref_name
son iguales y coinciden con el nombre de la rama utilizada en el PR de Gitlab.Webhook faltante o no válido: verifique que el webhook de Gitlab para SonarQube esté correctamente configurado y activo para el proyecto. Compruebe la URL del webhook y la configuración de acceso a la API en la configuración del proyecto de Gitlab y compárelos con la configuración de webhook de SonarQube.
Versión incompatible: es posible que la versión específica de SonarQube que esté utilizando no admita la decoración de PR o tenga problemas con la integración de Gitlab. Consulte las notas de la versión y la matriz de compatibilidad de SonarQube para asegurarse de que su configuración sea compatible.
Falta de suficientes comprobaciones de PR: confirme que su proyecto de Gitlab tenga niveles de permiso suficientes para habilitar la decoración de PR y que el acceso a los widgets de solicitud de extracción esté permitido.
Una vez que haya verificado y resuelto cualquier problema con los factores mencionados anteriormente, vuelva a ejecutar el comando de análisis y verifique si la decoración de PR de SonarQube está funcionando como se espera en la solicitud de extracción de Gitlab.