Résolution automatique des problèmes avec l’API de Devin
1. Vue d’ensemble du processus
- Une pull request est ouverte : Une pull request (PR) est soumise au dépôt avec des modifications pouvant contenir des problèmes identifiés par un outil d’analyse de code.
- Une GitHub Action est déclenchée : L’ouverture de la PR déclenche automatiquement un workflow GitHub Action.
- La GitHub Action appelle l’API Devin : La GitHub Action envoie une requête à l’API Devin, en transmettant les problèmes identifiés pour une résolution automatisée.
- La session Devin est initialisée : Une session Devin est lancée, reçoit le contexte des problèmes et tente de les résoudre à partir des données fournies.
- Devin propose une PR pour revue manuelle : Une fois les problèmes résolus, Devin génère une PR avec les modifications proposées et la soumet pour revue manuelle.
2. Étapes à suivre pour y parvenir
-
Configurer SonarQube pour la prise en charge CI et API :
- Assurez-vous que SonarQube est configuré pour prendre en charge l’intégration continue (CI) et l’intégration via API. Si vous préférez ne pas configurer SonarQube pour l’accès par API, vous pouvez utiliser un cookie pour l’authentification. En savoir plus sur cette configuration ici.
-
Configurer l’environnement GitHub pour stocker les secrets requis :
- Configurez l’environnement GitHub afin de stocker en toute sécurité les secrets nécessaires, tels que les jetons d’authentification et les clés de configuration, pour interagir avec l’API de Devin et les autres outils intégrés.
- Tester l’intégration
- Afficher la page des sessions Devin
1. Créez le jeton SONAR_TOKEN :
- Cliquez sur l’icône de votre compte dans le coin supérieur droit de SonarQube.
- Sélectionnez Security dans le menu déroulant.
- Sous Tokens, cliquez sur Generate Tokens.
- Attribuez un nom au jeton, puis cliquez sur Generate.
- Copiez le jeton généré pour l’utiliser dans GitHub Actions.

2. Créer SONAR_PROJECT
- Sélectionnez le projet dans SonarQube.
- Cliquez sur Information en bas à gauche.
- Faites défiler la page vers le bas pour trouver la clé du projet.

3. Créer SONAR_ORG
Cela suppose que vous disposez d’un fichier de propriétés SonarCloud local
sonar-project.properties qui spécifie :


