Vai al contenuto principale

Perché integrare Devin in GitHub?

Integrare Devin nella tua organizzazione GitHub consente a Devin, ad esempio, di creare pull request e leggere e rispondere ai commenti sulle tue PR. In questo modo Devin può essere un vero collaboratore del tuo team di engineering. La configurazione è semplice! Vai su app.devin.ai > Settings > Integrations > Github, fai clic su Connect e segui i passaggi per l’integrazione dell’app GitHub mostrati sullo schermo. Assicurati di concedere l’accesso ai repository rilevanti e di verificare le autorizzazioni.
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

Hai problemi? Consulta la nostra pagina sui problemi comuni per trovare soluzioni alle difficoltà più frequenti.
  1. Nel tuo account Devin su app.devin.ai, vai su Settings > Integrations > GitHub e fai clic sul pulsante “Connect” per integrare la tua organizzazione con l’app Devin GitHub.
  2. Verrai reindirizzato su GitHub, dove potrai selezionare l’account GitHub e i repository con cui connettere Devin e verificare le autorizzazioni pertinenti.
    • Se stai configurando l’integrazione GitHub per conto della tua organizzazione, assicurati di selezionare l’account della tua azienda.
Devin
  1. Una volta completati tutti i passaggi di configurazione in GitHub, verrai reindirizzato alla pagina delle impostazioni dell’account Devin, dove potrai confermare che l’integrazione è stata configurata.
Devin
  1. [Solo per clienti Enterprise] Aggiungi l’account GitHub cognition-team ai repository pertinenti. Questo ci permette di aiutarti con l’onboarding di Devin sulla tua codebase e di monitorare l’attività di Devin.
Ti consigliamo di abilitare le protezioni del branch master per garantire che i controlli vengano applicati prima che Devin possa effettuare il merge di qualsiasi modifica.

Utilizzare Devin con l’integrazione GitHub

Una volta completata l’integrazione, puoi accedere all’applicazione web di Devin e dovresti poter menzionare il repository con @ nel tuo prompt! Se utilizzi un repository per la prima volta, ti consigliamo di seguire il processo di configurazione dell’ambiente di sviluppo nel flusso di onboarding per garantire che Devin disponga delle informazioni più accurate e aggiornate su come lavorare con la tua codebase.
Devin risponderà automaticamente a tutti i commenti sulle PR finché la sessione non sarà stata archiviata

Template per le pull request

Quando Devin crea una pull request, cercherà di strutturare la descrizione della PR utilizzando un template presente nel tuo repository. Se fornisci un template, Devin ne seguirà la struttura quando scrive la descrizione che invia su GitHub.

Template specifico per Devin (preferito)

Puoi fornire a Devin un suo template senza modificare quello predefinito per gli utenti umani aggiungendo un file chiamato devin_pr_template.md in una delle posizioni PULL_REQUEST_TEMPLATE supportate riportate di seguito. Questo è utile se vuoi che Devin includa indicazioni aggiuntive (ad esempio, una checklist per il revisore o istruzioni per includere un diagramma Mermaid dei file interessati).

Ricerca e ordine di precedenza

Devin cerca il primo file esistente nel seguente ordine (vale la prima corrispondenza trovata):
  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 nessuno di questi file esiste, Devin utilizza il suo formato interno predefinito per la descrizione delle PR.
Se hai già un file GitHub pull_request_template.md che vuoi che Devin segua esattamente, copialo (o crea un symlink) in uno dei percorsi devin_pr_template.md indicati 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.

Configurare i permessi di Devin

Gestione delle autorizzazioni

Devi essere un admin dell’organizzazione GitHub in cui è installata l’integrazione Devin per gestire le autorizzazioni
Durante la configurazione dell’integrazione, puoi scegliere di concedere le autorizzazioni in modo che Devin possa accedere a tutti i repository dell’organizzazione oppure solo a un sottoinsieme selezionato di repo.
Puoi sempre modificare le autorizzazioni dalla pagina di configurazione dell’integrazione su GitHub dopo che l’app è stata connessa:
  • Passaggio 1: Vai alle impostazioni di integrazione GitHub
  • Passaggio 2: Vai a Devin.ai Integration e fai clic su “Configure”
  • Passaggio 3: Scorri fino alla sezione “Repository access” per gestire le autorizzazioni
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
Richiediamo queste autorizzazioni in modo che Devin possa lavorare nel tuo repository come un normale collaboratore. In particolare, permettiamo a Devin di eseguire push di nuovi branch, aprire PR e contribuire alle discussioni nelle PR, cosa essenziale affinché Devin possa contribuire in modo produttivo alla tua codebase.

Firma dei commit

Durante la configurazione del repository, puoi usare il Terminale di Devin per generare una chiave GPG che verrà utilizzata per firmare i commit, seguendo il processo GPG illustrato nella documentazione di GitHub. Ti consigliamo di creare un account GitHub di servizio all’interno della tua organizzazione su cui caricare la chiave GPG (ad es. [email protected]), in modo da poter verificare quali commit provengono da Devin.
Devin

Considerazioni sulla sicurezza

Alcune informazioni aggiuntive riguardo alle autorizzazioni di Devin in GitHub:
  • Consigliamo di abilitare le protezioni del branch su master per garantire che le verifiche siano completate prima che Devin possa effettuare il merge di qualsiasi modifica.
  • Se Devin è collegato all’account GitHub della vostra organizzazione, avrà le stesse autorizzazioni di un utente con accesso sia all’organizzazione GitHub sia a quella Devin.
  • Devin non replicherà le autorizzazioni dell’utente che esegue una sessione con lui, ma manterrà le autorizzazioni concesse a livello di organizzazione.
  • Devin non può creare nuovi repository nel vostro account GitHub.

Whitelist degli indirizzi IP

Se devi aggiungere i servizi di Devin alla whitelist per consentire l’accesso alle risorse GitHub della tua organizzazione, 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
(Tieni presente che questi indirizzi IP potrebbero cambiare in aggiornamenti futuri.)

Domande frequenti sull’integrazione con GitHub

Sì, un utente può scegliere di collegare un’organizzazione GitHub o un account personale all’account Devin della propria organizzazione, ma consigliamo di collegare l’account che disporrà delle autorizzazioni necessarie per permettere a Devin di eseguire sessioni per l’organizzazione.
Possono utilizzarla nelle proprie esecuzioni di Devin solo gli utenti autenticati che hanno accesso/autorizzazioni all’organizzazione a cui è stata collegata l’integrazione GitHub. In altre parole, Devin avrà accesso a un’integrazione GitHub solo se viene avviato da persone che fanno parte delle organizzazioni che hanno installato tale integrazione GitHub.
Le chiavi di crittografia sono gestite da AWS KMS e ruotate periodicamente.