Blog

Roi Sánchez
05 Sep 2023

SonarCloud: haz que aparezcan tus comentarios en tu PR

Tiempo de lectura 4 minutos
  • azure devops
  • CI/CD
  • gestión de proyectos
  • pull request
  • sonar

Sumario Como decorar tus PRs en Azure DevOps desde SonarCloud

En un artículo anterior explicamos como podemos configurar manualmente tu proyecto de Azure DevOps para incluirlo en SonarCloud si no se detecta de forma automática. Pues bien, si añadimos manualmente un proyecto nos encontramos con otro problema. Tras configurar la pipeline de Azure para que Sonar analice el código, este se analizará correctamente pero los comentarios no aparecerán en tu Pull Request. Es decir, si navegas a Sonar verás todos los problemas de smell code, cobertura de test, etc; sin embargo dentro de tu ciclo de integración continua en Azure DevOps no verás nada de esto y por tanto las PR no se pararán automáticamente hasta corregir los errores detectados.

Si bien esto se puede corregir con revisiones manuales en Sonar para solicitar a los diferentes desarrolladores que mejoren la calidad del código, realmente no es una solución óptima. Primero porque se pueden pasar cosas por alto, segundo porque supondría que el team leader es un cuello de botella y tercero, probablemente se subirían cosas incorrectas a la rama develop, siendo mucho más complejo y costoso de arreglar.

Sonarcloud - Origen del problema

Cuando Sonar Cloud es capaz de detectar un proyecto de forma automática y sigues las instrucciones indicadas para añadirlo al sistema de análisis, lo que internamente hace es dos cosas:

  • Añadir y configurar el proyecto para análisis
  • Configurar los decoradores de PR

Si no configuramos el segundo punto el proyecto se analiza correctamente pero no se devuelve la información al sistema de pull request, por lo que, en nuestro caso, Azure DevOps, no se entera de qué ha pasado.

En nuestro artículo anterior solo especificamos el primer punto, vamos ahora con el segundo.

Solución

Para poder decorar tu PR en Azure DevOps desde Sonar Cloud necesitamos seguir dos pasos:

  • Crear un personal access token en Azure DevOps
  • Configurar el proyecto en SonarCloud

Crear el Personal Acess Token en Azure DevOps

Accede a tu Azure DevOps. En la esquina superior derecha accede a tus «User settings» y pincha en "Personal access tokens"

Menú de Use Settings

Crea un nuevo token dándole un nombre descriptivo y dándole permisos de "Read & Write" en "Code".

Copia el token y guárdatelo para luego. Importantísimo: Guárdalo en este momento ya que no podrás consultar el token.

Configurar el proyecto en SonarCloud

Accede en SonarCloud.io a la administración general de tu proyecto.

Imagen de pantalla de configuración de Sonar Cloud

Acceder a la sección de Pull Requests

Menú de administración general

Selecciona «Azure DevOps Services» en provider

Pega el personal access token creado en Azure DevOps

Comprueba que funciona

Lanza una PR y si todo está bien configurado debería mostrarte ya el quality gate de tu PR y deberías poder ver los comentarios de Sonar.

PR decorada por Sonar

Autor

Roi Sánchez
Roi Sánchez

Desarrollador en dev&del

Capitán en Hello, World!

Capaz de gestionar un proyecto informático E2E (de principio a fin).

Los discos de vinilo y los tatuajes son dos de sus mayores pasiones.

¿Estás interesado?

Déjanos tus datos y contactaremos contigo lo antes posible