# Integrar Docker Scout con SonarQube


La integración con SonarQube permite a Docker Scout mostrar las comprobaciones de los quality
gates de SonarQube a través de la Evaluación de Políticas, bajo una nueva [política de Quality Gates de SonarQube](/scout/policy/#sonarqube-quality-gates-policy).

## Cómo funciona

Esta integración utiliza [webhooks de SonarQube](https://docs.sonarsource.com/sonarqube/latest/project-administration/webhooks/)
para notificar a Docker Scout cuando se ha completado el análisis de un proyecto de SonarQube. Cuando
se llama al webhook, Docker Scout recibe los resultados del análisis y los almacena en la base de datos.

Cuando subes una nueva imagen a un repositorio, Docker Scout evalúa los resultados
del registro del análisis de SonarQube correspondiente a la imagen. Docker Scout utiliza los
metadatos de procedencia de Git en las imágenes, a partir de las atestaciones de procedencia o de las
anotaciones OCI, para vincular los repositorios de imágenes con los resultados de los análisis de SonarQube.

> [!NOTE]
>
> Docker Scout no tiene acceso a los registros históricos de análisis de SonarQube. Solo
> los resultados de análisis registrados después de habilitar la integración estarán disponibles
> para Docker Scout.

Se admiten tanto las instancias de SonarQube autogestionadas como SonarCloud.

## Requisitos previos

Para integrar Docker Scout con SonarQube, asegúrate de que:

- Tu repositorio de imágenes esté [integrado con Docker Scout](/scout/code-quality/#container-registries).
- Tus imágenes se construyan con [atestaciones de procedencia](/build/metadata/attestations/slsa-provenance/)
  o con la anotación `org.opencontainers.image.revision`,
  que contenga información sobre el repositorio de Git.

## Habilitar la integración con SonarQube

1. Ve a la [página de integraciones de SonarQube](https://scout.docker.com/settings/integrations/sonarqube/)
   en el Dashboard de Docker Scout.
2. En la sección **How to integrate**, introduce un nombre de configuración para esta
   integración. Docker Scout utiliza esta etiqueta como nombre visible para la
   integración y para nombrar al webhook.
3. Selecciona **Next**.
4. Introduce los detalles de configuración de tu instancia de SonarQube. Docker Scout
   utiliza esta información para crear el webhook de SonarQube.

   En SonarQube, [genera un nuevo **User token** (token de usuario)](https://docs.sonarsource.com/sonarqube/latest/user-guide/user-account/generating-and-using-tokens/#generating-a-token).
   El token requiere permisos de administrador ('Administer') en el proyecto especificado, o
   permisos globales de administrador ('Administer').

   Introduce el token, la URL de tu SonarQube y el ID de tu organización de SonarQube.
   La organización de SonarQube es obligatoria si estás utilizando SonarCloud.

5. Selecciona **Enable configuration**.

   Docker Scout realiza una prueba de conexión para verificar que los detalles proporcionados
   son correctos y que el token tiene los permisos necesarios.

6. Tras una prueba de conexión exitosa, se te redirigirá a la vista general de la integración de SonarQube,
   que muestra todas tus integraciones de SonarQube y sus estados.

Desde la página de vista general de la integración, puedes ir directamente a la
**política de Quality Gates de SonarQube**.
Esta política no tendrá resultados inicialmente. Para empezar a ver los resultados de la evaluación
de esta política, activa un nuevo análisis de SonarQube de tu proyecto y sube la
imagen correspondiente a un repositorio. Para más información, consulta la
[descripción de la política](/scout/policy/#sonarqube-quality-gates).

