Risoluzione automatizzata delle issue con l’API di Devin
1. Panoramica del processo
- Viene aperta una Pull Request: Una pull request (PR) viene aperta nel repository con modifiche che potrebbero contenere issue individuate da uno strumento di code scanning.
- Si attiva una GitHub Action: L’apertura della PR attiva automaticamente un workflow GitHub Actions.
- La GitHub Action chiama la Devin API: La GitHub Action invia una richiesta alla Devin API, passando le issue individuate per la risoluzione automatizzata.
- Viene inizializzata una sessione Devin: Viene avviata una sessione Devin, che riceve il contesto dell’issue e tenta di risolverla in base ai dati forniti.
- Devin propone una PR per la revisione umana: Una volta risolta l’issue, Devin genera una PR con le modifiche proposte e la invia per la revisione da parte di una persona.
2. Passaggi per raggiungere questo obiettivo
-
Configura SonarQube per il supporto CI e API:
- Assicurati che SonarQube sia configurato per supportare l’integrazione continua (CI) e l’integrazione tramite API. Se preferisci non configurare SonarQube per l’accesso via API, puoi utilizzare un cookie per l’autenticazione. Scopri di più su questa configurazione qui.
-
Configura l’ambiente GitHub per memorizzare i secrets necessari:
- Configura l’ambiente GitHub per archiviare in modo sicuro i secrets necessari, come token di autenticazione e chiavi di configurazione, per interagire con l’API di Devin e altri strumenti integrati.
- Testare l’integrazione
- Visualizzare la pagina delle sessioni di Devin
1. Crea SONAR_TOKEN:
- Fai clic sull’icona del tuo account in alto a destra in SonarQube.
- Seleziona Security dal menu a discesa.
- Nella sezione Tokens, fai clic su Generate Tokens.
- Assegna un nome al token e fai clic su Generate.
- Copia il token generato per usarlo in GitHub Actions.

2. Crea SONAR_PROJECT
- Seleziona il progetto in SonarQube.
- Fai clic su Information in basso a sinistra.
- Scorri verso il basso per trovare la chiave del progetto.

3. Crea SONAR_ORG
Questa procedura presuppone che tu abbia un file di configurazione locale di SonarCloud
sonar-project.properties che specifichi:


