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?
Integrare Devin con la tua organizzazione Azure DevOps consente a Devin di clonare repository, creare pull request (PR) e collaborare in modo efficace con il tuo team. Questa integrazione permette a Devin di lavorare senza problemi all’interno del tuo flusso di lavoro di sviluppo esistente. A differenza di alcune altre integrazioni SCM, Azure DevOps non visualizza le app di terze parti nello stesso modo. Tutta la gestione delle connessioni viene invece gestita all’interno di Devin in Settings > Connections > Azure DevOps.Prerequisiti
Prima di configurare l’integrazione con Azure DevOps, è necessario:-
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
Devin utilizza OAuth 2.0 tramite MSAL di Microsoft (Microsoft Authentication Library) per connettersi ad Azure DevOps. L’account di servizio di Devin deve essere in grado di concedere il consenso dell’amministratore per il tenant (Application Administrator, Cloud Application Administrator o Global Administrator) per completare il flusso OAuth. Azure DevOps funziona tramite account di servizio, quindi Devin si connette utilizzando l’identità dell’utente Devin autorizzato anziché tramite un’app registrata.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 di Devin (l’account che può concedere il consenso dell’amministratore per il tuo tenant)
- Nel tuo account Devin Enterprise, vai a Settings > Connections > Azure DevOps.
-
Fai clic sul pulsante Connect per avviare il flusso OAuth. Se Azure DevOps è già connesso, sul pulsante compare la dicitura Add connection.
- Per connetterti invece tramite un service principal di Microsoft Entra, apri il menu a discesa del pulsante Connect e seleziona Connect with service principal. Consulta Azure DevOps (Service Principal).

- Si aprirà una nuova scheda del browser in cui ti verrà chiesto di concedere a Devin l’autorizzazione ad accedere alla tua organizzazione Azure DevOps. Assicurati di aver effettuato l’accesso con l’account di servizio di Devin (l’account che può concedere il consenso dell’amministratore per il tuo tenant).

-
Dopo aver concesso le autorizzazioni, verrai reindirizzato alla pagina delle connessioni Azure DevOps in Devin, dove sarà elencata la nuova connessione. Fai clic sulla connessione per aprirne il pannello dei dettagli:
- General: configurazione dei webhook, riconnessione e disconnessione
- Manage access: consente a utenti o ruoli di gestire le autorizzazioni dei repository per questa connessione
- Repositories: i repository disponibili tramite questa connessione
- Ora che Devin ha accesso ad Azure DevOps, puoi concedere le autorizzazioni a una o più organizzazioni del tuo account Enterprise, o a tutte. Per farlo, vai a Settings > Repositories, scegli un’organizzazione, fai clic su Manage permissions e concedi le autorizzazioni a livello di Organization/Project o di Repository. Consulta Autorizzazioni dei repository.
- Per ogni organizzazione a cui sono state concesse le autorizzazioni, vai a Settings > Environment > Blueprints all’interno di quell’organizzazione, fai clic su Add nella sezione Repositories e seleziona i repository da aggiungere all’ambiente di Devin. Consulta Configurazione dichiarativa dell’ambiente.
A cosa può accedere Devin
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
Consenso OAuth non riuscito:- 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
- Apri la connessione in Settings > Connections > Azure DevOps e verifica che i repository siano presenti nella scheda Repositories
- Controlla che l’autorizzazione sui repository sia stata concessa all’organizzazione in Settings > Repositories
- Assicurati che i repository siano stati aggiunti all’ambiente dell’organizzazione in Settings > Environment > Blueprints
- 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

