Devin supporta anche la connessione ad Azure DevOps tramite un service principal di Microsoft Entra, che non richiede un account di servizio dedicato con privilegi elevati di amministratore della directory. A seconda delle tue esigenze, questa opzione potrebbe essere più adatta: vedi Azure DevOps (Service Principal).
Perché integrare Devin con Azure DevOps?
Prerequisiti
-
Creare un utente Azure DevOps dedicato per Devin - Crea un nuovo account Azure DevOps specifico per Devin (ad es.
devin@yourcompany.com). Questo account di servizio dedicato consente una gestione degli accessi più chiara e registri di audit più puliti. - Concedere all’utente Devin un ruolo admin sufficiente - Il nuovo account di servizio di Devin deve poter concedere il consenso dell’amministratore per il tenant (Application Administrator, Cloud Application Administrator o Global Administrator). Microsoft limita l’accesso delle applicazioni di terze parti, a meno che un admin con privilegi sufficienti non conceda il consenso a livello di tenant.
-
Prepararsi alla procedura di connessione - Per completare l’integrazione, sarà necessario:
- Essere connessi a Devin con il tuo account personale
- Essere connessi ad Azure DevOps con l’account di servizio di Devin (il nuovo account che può concedere il consenso dell’amministratore per il tuo tenant)
Entrambe le sessioni del browser devono essere attive durante il processo di configurazione dell’integrazione: il tuo account Devin per avviare la connessione e l’account di servizio di Devin in Azure DevOps per autorizzare il consenso OAuth.
Autenticazione e autorizzazioni
Modello RBAC e autorizzazioni
- Viene creato un record di connessione con il refresh token crittografato, collegato all’identità utente
- Devin genera record di autorizzazione per definire quali organizzazioni, progetti e repository sono accessibili
- In fase di esecuzione vengono effettuati controlli su tutti i repository e confrontati con l’elenco delle autorizzazioni per far rispettare i limiti di accesso
Gerarchia di Azure DevOps
Configurazione dell’integrazione
-
Accedi a entrambi gli account:
- Accedi al tuo account Devin su app.devin.ai
- In un altro browser o in una finestra in incognito, accedi ad Azure DevOps con l’account di servizio Devin (l’account che può concedere il consenso dell’amministratore per il tuo tenant)
- Nel tuo account Devin Enterprise, vai su Settings > Impostazioni Enterprise > integrazioni

- Una volta nella pagina integrazioni, fai clic sul pulsante Connect to Azure DevOps.

- Si aprirà una nuova scheda del browser, in cui ti verrà chiesto di concedere a Devin le autorizzazioni per la tua Azure DevOps Organization. Assicurati di avere effettuato l’accesso con l’account di servizio Devin (l’account che può concedere il consenso dell’amministratore per il tuo tenant).

- Dopo aver concesso le autorizzazioni, vedrai nuovamente nella pagina integrazioni, in Impostazioni Enterprise, la tua integrazione Azure DevOps e i Repository connessi.

- Ora che Devin ha accesso ad Azure DevOps, puoi concedere autorizzazioni a tutte o ad alcune Sub-Organizations all’interno del tuo account Enterprise. Per farlo, seleziona Git Permissions nella tua integrazione Azure DevOps, scegli una Sub-Organization e concedi le autorizzazioni a livello di Group o di Repository.

- Per ogni Organization a cui sono state concesse autorizzazioni, vai su Devin’s Settings > Machine di Devin, fai clic su + Repository e integra i repository nella Machine di Devin.
A cosa può accedere Devin
| Funzionalità | Descrizione |
|---|---|
| Elencare i repository | Visualizzare i repository disponibili e i relativi metadati |
| Leggere i branch | Accedere alle informazioni sui branch e alla cronologia dei commit |
| Creare pull request | Aprire nuove PR per le modifiche al codice |
| Visualizzare le pull request | Accedere agli eventi, ai commenti e allo stato delle PR |
| Eseguire il push del codice | Eseguire il push di nuovi branch e commit nei repository |
A cosa Devin non può accedere
- Work item (board)
- Pipeline o build
- Piani di test
- Artefatti
- Wiki
- Connessioni di servizio
Se in futuro la tua organizzazione avrà bisogno che Devin supporti anche queste aree aggiuntive, saranno necessari scope OAuth più ampi e una nuova logica lato provider. Contatta enterprise@cognition.ai per discutere le tue esigenze.
Considerazioni sulla sicurezza
- OAuth fornisce la capacità, RBAC definisce i limiti - OAuth concede la capacità tecnica di accedere ad Azure DevOps, ma un ulteriore livello di permessi Git impone i reali limiti di accesso
- Solo accesso esplicitamente autorizzato - Devin non accede mai a repository o progetti che non siano stati esplicitamente autorizzati nell’interfaccia Enterprise
- Credenziali crittografate - Tutti i refresh token sono crittografati e archiviati in modo sicuro
- Audit trail - L’uso di un account di servizio dedicato rende più semplice tracciare l’attività di Devin nei log di audit di Azure DevOps
- Policy di branch rispettate - Le PR di Devin sono soggette alle stesse policy di branch e agli stessi requisiti di revisione di qualsiasi altro collaboratore
Best practice
- Usa l’account di servizio dedicato di Devin - Usa sempre l’account Azure DevOps dedicato creato per Devin, invece di collegarti con un account personale
- Abilita i criteri di branch - Configura i criteri di branch in Azure DevOps per assicurarti che tutte le modifiche seguano appropriati processi di revisione prima di essere unite
- Usa le autorizzazioni a livello di repository - Concedi a Devin l’accesso solo ai repository specifici di cui ha bisogno, invece di un accesso a livello di organizzazione
- Monitora i log di accesso - Controlla regolarmente i log di audit di Azure DevOps relativi all’attività di Devin
- Documenta la tua configurazione - Mantieni una documentazione interna che indichi a quali repository Devin ha accesso e per quale motivo
Se il tuo Microsoft Entra ID è integrato con l’HRIS (Human Resources Information System, sistema informativo delle risorse umane) della tua organizzazione, potrebbero essere necessari ulteriori passaggi di configurazione per completare l’integrazione con Azure DevOps. Contatta il team di supporto di Devin per assistenza con la configurazione avanzata.
Risoluzione dei problemi
- Verifica che l’account di servizio di Devin possa concedere il consenso dell’amministratore per il tenant (richiede il ruolo di Application Administrator, Cloud Application Administrator o Global Administrator)
- Controlla che il tenant Microsoft Entra ID consenta l’autorizzazione per applicazioni di terze parti
- Assicurati di aver effettuato l’accesso ad Azure DevOps con l’account di servizio di Devin (e non con il tuo account personale) quando completi il flusso OAuth
- Verifica che l’account di servizio di Devin abbia accesso ai repository in Azure DevOps
- Controlla che l’autorizzazione del repository sia stata concessa nelle impostazioni Enterprise di Devin
- Assicurati che i repository siano stati aggiunti alla Machine di Devin
- Conferma che l’account di servizio di Devin abbia l’autorizzazione di contributor sul repository di destinazione
- Controlla che i criteri di branch non stiano bloccando la creazione della PR
- Verifica che il branch di destinazione esista e sia accessibile

