Resolución automática de incidencias con la API de Devin
- Descripción general del proceso
- Se abre el pull request: Se envía un pull request (PR) al repositorio con cambios que pueden contener problemas identificados por una herramienta de análisis de código.
- Se activa el flujo de trabajo de GitHub Actions: La apertura del PR activa automáticamente un flujo de trabajo de GitHub Actions.
- El flujo de trabajo de GitHub Actions llama a la API de Devin: El flujo de trabajo de GitHub Actions envía una solicitud a la API de Devin, pasando los problemas identificados para su resolución automática.
- Se inicializa una sesión de Devin: Se inicializa una sesión de Devin, que recibe el contexto del problema e intenta resolverlo en función de los datos proporcionados.
- Devin propone un PR para revisión humana: Una vez resuelto el problema, Devin genera un PR con los cambios propuestos y lo envía para revisión humana.
- Pasos para lograr esto
-
Configurar SonarQube para compatibilidad con CI y API:
- Asegúrate de que SonarQube esté configurado para admitir la integración continua (CI) y la integración mediante API. Si prefieres no configurar SonarQube para acceso por API, puedes usar una cookie para la autenticación. Obtén más información sobre esta configuración aquí.
-
Configurar el entorno de GitHub para almacenar los secretos requeridos:
- Configura el entorno de GitHub para almacenar de forma segura los secretos necesarios, como tokens de autenticación y claves de configuración, para interactuar con la API de Devin y otras herramientas integradas.
- Probar la integración
- Ver la página de sesiones de Devin
- Crear SONAR_TOKEN:
- Haz clic en el ícono de tu cuenta en la esquina superior derecha de SonarQube.
- Selecciona Security en el menú desplegable.
- En Tokens, haz clic en Generate Tokens.
- Asigna un nombre al token y haz clic en Generate.
- Copia el token generado para usarlo en GitHub Actions.

- Crear SONAR_PROJECT
- Selecciona el proyecto en SonarQube.
- Haz clic en Information en la esquina inferior izquierda.
- Desplázate hacia abajo para encontrar la clave del proyecto.

- Crear SONAR_ORG
Consulta los pasos anteriores para localizar los detalles de tu organización en SonarQube.
Una vez que tengas todos los valores necesarios, estarás listo para configurar el flujo de trabajo de GitHub Actions.
Esto supone que tienes un archivo de propiedades local de SonarCloud
sonar-project.properties que especifica:El script utiliza la API v3.
DEVIN_API_KEY es una clave de API de un usuario de servicio y DEVIN_ORG_ID es el ID de la organización en la que se ejecutan las sesiones. Una sesión que completa su tarea informa status: "running" con status_detail: "finished"; waiting_for_user, waiting_for_approval, suspended y error requieren atención humana. Consulta Obtener sesión para ver la lista completa de valores.secrets.* del flujo de trabajo anterior.




