Panoramica
Questa guida illustra la configurazione completa per integrare un’istanza GitLab con Devin, inclusa sia la Configurazione Admin sia la configurazione per l’utente finale. Devin supporta GitLab Self-Managed dalla versione 15.0 in poi. L’integrazione si articola in due parti:- Configurazione Admin
- Collega a Devin l’istanza GitLab self-hosted dell’organizzazione
- Configura un account di servizio
- Configura l’accesso ai repository
- Registra OAuth in modo che gli utenti possano collegare le proprie identità GitLab personali
- Configurazione utente
- Collega l’account GitLab di un utente al proprio account Devin
La Configurazione Admin deve essere completata prima che qualsiasi utente possa collegare il proprio account GitLab. Solo gli amministratori Enterprise possono eseguire i passaggi della Configurazione Admin.
Parte 1: Configurazione Admin
Passaggio 1: Crea un account di servizio in GitLab
In GitLab:- Vai al gruppo GitLab corretto
- Vai a Settings
- Apri Service Accounts
- Crea un nuovo account di servizio

Passaggio 2: aggiungi l’account di servizio come membro del gruppo
Sempre in GitLab:- Vai alla pagina Members del gruppo

- Aggiungi l’account di servizio come membro del gruppo
- Assegnagli un ruolo in base alle attività che Devin deve svolgere:
- Developer è sufficiente per connettere Devin e leggere i repository
- Maintainer se Devin deve configurare automaticamente i webhook di progetto
- Owner per i webhook a livello di gruppo (i webhook di gruppo richiedono GitLab Premium o Ultimate)
Passaggio 3: Genera un token di accesso personale per l’account di servizio
Dopo aver creato l’account di servizio:- Individua l’account di servizio appena creato
- Fai clic sui tre puntini > Gestisci i token di accesso > Genera un nuovo token di accesso personale > Seleziona api tra gli ambiti di accesso
- Copia e conserva il token in modo sicuro
Assicurati di selezionare il token dell’account di servizio, e non il token di accesso personale che trovi nelle preferenze del tuo account utente. Devin deve agire come l’account di servizio, non come te. Userai questo token quando aggiungerai la connessione GitLab in Devin.
Passaggio 4: Aggiungi la connessione GitLab in Devin
In Devin:- Vai a Enterprise Settings
- Apri Connections
- Aggiungi una nuova connessione
- Inserisci:
- L’URL del tuo GitLab self-hosted (se applicabile)

- Il token di accesso personale creato per l’account di servizio
Passaggio 5: Configurare il webhook
Configurando un webhook, Devin riceve automaticamente notifiche in tempo reale quando si verificano determinati eventi in GitLab (ad esempio l’apertura o l’aggiornamento di merge request e l’aggiunta di commenti alle merge request). Per configurare il webhook:- In Devin, vai su Settings > Connections > GitLab e fai clic sulla connessione GitLab appena aggiunta per aprirne il pannello dei dettagli
- Nella scheda General, fai clic su Configure nella riga Webhook
- Copia l’URL del webhook e il Token segreto dalla finestra di dialogo
- Segui i passaggi Group (consigliato) o Project indicati nella finestra di dialogo per aggiungere il webhook in GitLab, selezionando i trigger Comments, Merge request events, Push events, Issues events e Pipeline events
Per aggiungere un webhook in GitLab è necessario il ruolo Maintainer sul progetto oppure, per i webhook di gruppo (Premium o Ultimate), il ruolo Owner sul gruppo. Se la configurazione automatica dei webhook è disponibile per la tua organizzazione, la finestra di dialogo segnala che Devin configura i webhook su tutti i progetti e i gruppi che l’account di servizio può amministrare; ciò funziona solo dove l’account di servizio dispone di tali ruoli (vedi Passaggio 2). Se non puoi assegnare all’account di servizio il ruolo Maintainer o Owner, un utente GitLab con questo livello di accesso può aggiungere il webhook manualmente utilizzando l’URL e il token segreto indicati nella finestra di dialogo.
Passaggio 6: Verifica dell’accesso ai repository
Dopo aver aggiunto la connessione:- Conferma che il account di servizio abbia accesso ai repository che vuoi utilizzare
- In Devin, se i repository non compaiono subito, aggiorna manualmente l’elenco dei repository
- Vai a Repository Enterprise
- Seleziona l’organizzazione corretta

- Apri Gestisci autorizzazioni
- Aggiungi i repository pertinenti con le autorizzazioni lettura/scrittura appropriate

Se mancano delle repo, potrebbe essere perché Devin aggiorna l’elenco dei repository periodicamente anziché all’istante.
Parte 2: Abilita il collegamento degli utenti per GitLab self-hosted
Passaggio 7: Registrare un’applicazione OAuth sull’istanza GitLab self-hosted
Per consentire ai singoli utenti di collegare la propria identità GitLab a Devin, l’amministratore deve registrare un’app OAuth per l’istanza GitLab self-hosted. In Devin:- Vai all’area di connessione GitLab dell’Enterprise
- Apri Avanzate
- Vai alla sezione GitLab self-hosted
- Avvia la procedura per registrare un’applicazione OAuth

Passaggio 8: Completa la registrazione dell’app OAuth in GitLab
Segui il collegamento nella finestra modale di registrazione per aprire il modulo dell’applicazione GitLab. Compila i campi come indicato:- Imposta Name e Redirect URI esattamente come mostrato nella finestra modale di Devin
- Seleziona la casella Confidential
- Seleziona l’ambito api
- Fai clic su Save application

- Copia Application ID e Application Secret da GitLab
- Torna in Devin e incolla questi valori nella finestra modale di registrazione
- Fai clic su Register
Parte 3: Requisito di appartenenza all’organizzazione
Passaggio 9: assicurati che l’utente appartenga all’organizzazione Devin corretta
Prima che un utente possa collegare il proprio account GitLab, deve essere membro di un’organizzazione Devin con autorizzazioni per i repository GitLab. In Devin:- Vai alla sezione di appartenenza all’organizzazione
- Verifica che l’utente faccia parte di un’organizzazione Devin con autorizzazioni per i repository GitLab
- In caso contrario, aggiungilo prima
Connessioni personali mostra solo le integrazioni delle organizzazioni a cui appartiene l’utente. Se un utente non fa parte di un’organizzazione Devin con autorizzazioni per i repository GitLab, l’integrazione GitLab potrebbe non essere visualizzata affatto.
Parte 4: Configurazione per l’utente finale
Passaggio 10: Apri Connessioni personali
Come utente finale su Devin:- Vai a Connessioni personali
- Cerca l’integrazione GitLab self-hosted
Passaggio 11: Collega l’account GitLab dell’utente
Una volta visualizzata l’integrazione:- Seleziona la connessione GitLab self-hosted
- Completa la procedura di collegamento
- Collega l’account GitLab dell’utente al suo account Devin
Considerazioni sulla sicurezza
- Credenziali crittografate — Tutti i token sono crittografati e archiviati in modo sicuro, inclusi il token di accesso personale dell’account di servizio, il segreto dell’applicazione OAuth e i token OAuth creati quando gli utenti collegano i propri account GitLab.
- Crittografia in transito — Tutti i dati sono crittografati sia in transito sia a riposo. Devin si connette alla tua istanza GitLab tramite HTTPS e le consegne dei webhook vengono verificate tramite il token segreto generato durante la configurazione del webhook.
- Autorizzazione esplicita — La semplice aggiunta della connessione non concede alcun accesso ai repository. I repository devono essere assegnati esplicitamente a un’organizzazione Devin con autorizzazioni di lettura/scrittura in Repository Enterprise > Gestisci autorizzazioni.
- Accesso con ambito limitato — Devin opera tramite l’account di servizio, quindi il ruolo di quest’ultimo in GitLab (Developer, Maintainer o Owner) e la sua appartenenza ai progetti determinano ciò a cui Devin può accedere.
- Verificabilità — L’uso di un account di servizio dedicato rende più semplice attribuire le attività di Devin in GitLab.
- Rispetto delle protezioni dei branch — Le merge request di Devin sono soggette alle stesse regole di protezione dei branch e agli stessi requisiti di approvazione previsti per qualsiasi altro collaboratore.

