Vai al contenuto principale

Perché integrare Devin con GitHub?

Integrare Devin con la tua organizzazione GitHub consente a Devin di creare pull request (PR), rispondere ai commenti sulle PR e collaborare direttamente all’interno dei tuoi repository. In questo modo Devin può essere un vero collaboratore del tuo team di engineering. Per iniziare, vai su app.devin.ai > Settings > Integrations > GitHub, fai clic su Add Connection e segui le istruzioni. Potrai selezionare a quali repository Devin può accedere e rivedere le autorizzazioni richieste.
Stai usando GitHub Enterprise Server? Consulta la guida all’integrazione di GitHub Enterprise Server per le istruzioni di configurazione utilizzando i personal access token.

Configurare l’integrazione

Devi essere un amministratore della tua organizzazione GitHub per creare e gestire l’integrazione con Devin. Riscontri problemi? Consulta la sezione Problemi comuni.
  1. Nel tuo account Devin su app.devin.ai, vai su Settings > Integrations > GitHub e fai clic su Add Connection.
Devin
  1. Se non hai già effettuato l’accesso a GitHub, ti verrà richiesto di autenticarti.
Devin
  1. Seleziona l’organizzazione GitHub che vuoi collegare a Devin.
Devin
  1. Scegli se concedere a Devin l’accesso a All repositories oppure a Select repositories per controllare a quali repository può accedere.
Devin
  1. Dopo aver completato l’autorizzazione su GitHub, verrai reindirizzato alle impostazioni di Devin, dove potrai confermare che l’integrazione è attiva.
Devin
Ti consigliamo di abilitare le regole di protezione del branch sul tuo branch principale per assicurarti che tutti i controlli richiesti vengano superati prima che Devin possa effettuare il merge delle modifiche.

Utilizzare Devin con l’integrazione GitHub

Per gli utenti Core e Teams

Una volta configurata l’integrazione, puoi menzionare i repository preceduti da @ direttamente nei tuoi prompt all’interno dell’applicazione web di Devin.

Per utenti Enterprise

Una volta configurata l’integrazione, puoi delegare i repository a specifiche organizzazioni dalla sezione Enterprise Settings > Repository Permissions.
Devin
Se lavori con un repository per la prima volta, ti consigliamo di completare la configurazione dell’ambiente di sviluppo nel flusso di onboarding per garantire che Devin disponga di informazioni accurate e aggiornate sulla tua codebase. Devin risponde automaticamente ai commenti sulle pull request (PR) finché la sessione non viene archiviata.

Gestione delle autorizzazioni di Devin in GitHub

Durante la configurazione, puoi concedere a Devin l’accesso a tutti i repository della tua organizzazione oppure limitare l’accesso a repository specifici. Puoi modificare in qualsiasi momento l’accesso ai repository dalle impostazioni di GitHub:
  1. Vai alle Settings della tua organizzazione GitHub > GitHub Apps (ad es. https://github.com/organizations/<org_name>/settings/installations)
  2. Seleziona Configure per l’integrazione Devin.ai
  3. In Repository access, scegli se concedere l’accesso a tutti i repository oppure seleziona repository specifici
  4. Fai clic su Save per applicare le modifiche
Devin
Devin richiede le seguenti autorizzazioni: Accesso in lettura a:
PermissionDescription
dependabot alertsConsente a Devin di risolvere gli avvisi di Dependabot per tuo conto (ad es. aggiornando le versioni delle dipendenze)
actionsConsente a Devin di visualizzare le Actions configurate per un repository per capire se le modifiche di Devin superano la CI
checksConsente a Devin di visualizzare i Checks configurati per un repository per capire se le modifiche di Devin superano la CI
commit statusesConsente a Devin di vedere se un commit supera la CI
deploymentsConsente a Devin di vedere quali versioni di un repository sono state distribuite
metadataConsente a Devin di visualizzare metadati fondamentali su un repository, come chi ne è il proprietario
packagesConsente a Devin di vedere quali versioni di un repository sono state rilasciate come package
pagesConsente a Devin di consultare le pagine associate a un repository, ad esempio per visualizzare la documentazione
repository advisoriesConsente a Devin di visualizzare gli avvisi di sicurezza relativi a un repo per aiutare a risolvere i problemi di sicurezza
repository hooksConsente a Devin di visualizzare gli hook configurati per un repository, ad esempio linting e type checking
repository projectsConsente a Devin di visualizzare i progetti associati a un repository, ad esempio per recuperare informazioni su un’attività
Accesso in lettura e scrittura a:
PermissionDescription
codeConsente a Devin di contribuire alla codebase
discussionsConsente a Devin di contribuire alle discussioni
issuesConsente a Devin di aprire nuove issue
pull requestsConsente a Devin di creare nuove PR
workflowsConsente a Devin di impostare nuovi workflow, ad esempio per aiutare a configurare la CI/CD
Queste autorizzazioni consentono a Devin di lavorare nei tuoi repository come un normale collaboratore, eseguendo il push dei branch, aprendo pull request e partecipando alle discussioni nelle PR.

Template per le pull request

Quando Devin crea una pull request, utilizza un template presente nel tuo repository per strutturare la descrizione della PR. Se fornisci un template, Devin ne segue il formato quando invia le PR su GitHub. Puoi fornire a Devin un template dedicato senza modificare il tuo template predefinito per gli utenti umani, aggiungendo un file chiamato devin_pr_template.md in una delle posizioni supportate di PULL_REQUEST_TEMPLATE indicate di seguito. Questo è utile se vuoi che Devin includa contesto aggiuntivo, ad esempio una checklist per i revisori o un diagramma Mermaid dei file modificati.

Ordine di ricerca dei template

Devin cerca i template nel seguente ordine e utilizza il primo che trova:
  1. PULL_REQUEST_TEMPLATE/devin_pr_template.md
  2. docs/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  3. .github/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  4. pull_request_template.md
  5. docs/pull_request_template.md
  6. .github/pull_request_template.md
Se non viene trovato alcun template, Devin utilizza il suo formato predefinito per la descrizione delle PR.
Se vuoi che Devin utilizzi il tuo pull_request_template.md esistente, copialo (o crea un symlink) in uno dei percorsi devin_pr_template.md elencati sopra.
Per ulteriori informazioni sui template di pull request di GitHub (posizioni supportate, template multipli, parametri di query, ecc.), consulta la documentazione di GitHub: Creating a pull request template for your repository.

Firma dei commit

Durante la configurazione del repository, puoi usare il Terminale di Devin per generare una chiave GPG per firmare i commit, seguendo il processo illustrato nella documentazione di GitHub. Ti consigliamo di creare un account GitHub dedicato all’interno della tua organizzazione (ad es. devin@company.com) da associare alla chiave GPG, in modo da rendere più semplice identificare i commit provenienti da Devin.
Devin

Considerazioni sulla sicurezza

  • Protezione del branch: Consigliamo di abilitare le regole di protezione del branch sul branch principale per garantire che tutti i controlli richiesti vengano superati prima che Devin possa eseguire il merge delle modifiche.
  • Autorizzazioni a livello di organizzazione: Devin utilizza le autorizzazioni concesse a livello di organizzazione, non le autorizzazioni del singolo utente che esegue la sessione.
  • Accesso uniforme: Tutti gli utenti con accesso sia all’organizzazione GitHub che all’organizzazione Devin condividono le stesse autorizzazioni di integrazione Devin.
  • Creazione di repository: Devin non può creare nuovi repository nel tuo account GitHub.

Allowlist degli indirizzi IP

Se la tua organizzazione richiede un’allowlist di indirizzi IP per l’accesso a GitHub, aggiungi i seguenti indirizzi IP:
  • 100.20.50.251
  • 44.238.19.62
  • 52.10.84.81
  • 52.183.72.253
  • 20.172.46.235
  • 52.159.232.99
Questi indirizzi IP potrebbero cambiare in aggiornamenti futuri. Ti consigliamo di monitorare le nostre note di rilascio per eventuali modifiche.

Domande frequenti sull’integrazione con GitHub

Sì, puoi collegare alla tua organizzazione Devin sia un’organizzazione GitHub sia un account GitHub personale. Tuttavia, consigliamo di collegare l’account che dispone delle autorizzazioni appropriate affinché Devin possa accedere ai repository di cui il tuo team ha bisogno.
Solo gli utenti che sono membri dell’organizzazione che ha installato l’integrazione GitHub possono usarla nelle proprie sessioni con Devin. Devin eredita l’accesso all’integrazione GitHub in base all’appartenenza dell’utente all’organizzazione.
Le chiavi di crittografia sono gestite da AWS KMS e ruotate periodicamente.