Vai al contenuto principale

Panoramica

Devin si connette ad Azure DevOps tramite un service principal di Microsoft Entra. Il tuo amministratore approva nel tuo tenant l’applicazione Cognition Azure DevOps Service Principal pubblicata da Cognition; questo crea un service principal che poi aggiungi alla tua organizzazione Azure DevOps con le autorizzazioni che scegli.
  • Durante l’approvazione in Entra viene richiesto solo User.Read: serve esclusivamente a stabilire l’identità
  • La sola approvazione in Entra non concede l’accesso ai repository o al codice
  • L’accesso ai repository è interamente controllato dalle autorizzazioni che assegni in Azure DevOps
A differenza di altre integrazioni SCM, Azure DevOps non mostra le app di terze parti nello stesso modo. Tutta la gestione delle connessioni avviene in Devin, in Settings > Enterprise Settings > Integrations.

Prerequisiti

Prima di configurare l’integrazione con Azure DevOps, assicurati di disporre di:
  1. Account Enterprise Devin con autorizzazione a gestire le integrazioni
  2. Amministratore Microsoft Entra che possa concedere il consenso dell’amministratore per le applicazioni
  3. Amministratore dell’organizzazione Azure DevOps che possa aggiungere utenti e assegnare autorizzazioni

Configurazione dell’integrazione

  1. Accedi al tuo account Devin su app.devin.ai.
  2. In un browser separato o in una finestra di navigazione in incognito, accedi ad Azure DevOps (necessario per il passaggio 6).
  3. Nel tuo account Devin Enterprise, vai a Settings > Enterprise Settings > Integrations e seleziona Azure DevOps.
  4. Apri il menu a discesa del pulsante Connect e seleziona Connect with service principal.
Connetti con service principal
  1. Verrai reindirizzato a Microsoft per concedere a Devin l’autorizzazione per il tuo tenant. Dopo l’approvazione, verrai riportato alla pagina di integrazione di Azure DevOps in Devin, che ora mostra una sezione Add organization with service principal.
    • L’approvazione crea un service principal nel tuo tenant Microsoft Entra
    • Questo passaggio richiede solo User.Read e non concede l’accesso ai repository
  2. In Azure DevOps, vai a Settings dell’organizzazione > Users:
    • Fai clic su Add Users e aggiungi il service principal (Cognition Azure DevOps Service Principal)
    • Seleziona Basic come livello di accesso (Stakeholder non è sufficiente: le API richiedono Basic)
    • Aggiungilo a tutti i progetti a cui vuoi che Devin abbia accesso
    • Assegna il service principal ai gruppi pertinenti di Azure DevOps (in genere Project Contributors)
  3. Torna in Devin e, nella sezione Add organization with service principal della pagina di integrazione di Azure DevOps, inserisci il nome dell’organizzazione Azure DevOps del passaggio precedente e fai clic su Add.
  4. In Devin, seleziona Git Permissions nella tua integrazione Azure DevOps, scegli una Sub-Organization e concedi le autorizzazioni a livello di Group o Repository.
Autorizzazioni Git di Azure DevOps
  1. Per ogni organizzazione a cui sono state concesse autorizzazioni, vai a Devin’s Settings > Devin’s Machine, fai clic su + Repository e integra i repository.

A cosa può accedere Devin

L’integrazione di Devin con Azure DevOps è limitata alle sole operazioni Git:
FunzionalitàDescrizione
Visualizzare i repositoryVisualizzare i repository disponibili e i relativi metadati
Leggere i branchAccedere alle informazioni sui branch e alla cronologia dei commit
Creare pull requestAprire nuove PR per le modifiche al codice
Visualizzare le pull requestAccedere agli eventi delle PR, ai commenti e allo stato
Eseguire il push del codiceEseguire il push di nuovi branch e commit nei repository
Devin non ha accesso a work item, pipeline, build, piani di test, artefatti, wiki o connessioni di servizio.
Se in futuro la tua organizzazione avrà bisogno che Devin supporti ulteriori aree di Azure DevOps, contatta enterprise@cognition.ai per discutere le tue esigenze.

Considerazioni sulla sicurezza

  • Autorizzazioni Entra minime — Viene richiesto solo User.Read. Nessun accesso in lettura all’intera directory, nessuna visibilità sull’appartenenza ai gruppi né controllo amministrativo.
  • Autorizzazione esplicita — La sola approvazione in Entra non concede alcun accesso ad Azure DevOps. Tutti gli accessi ai repository devono essere assegnati esplicitamente dall’amministratore di Azure DevOps.
  • Credenziali crittografate — Tutti i token sono crittografati e archiviati in modo sicuro.
  • Accesso con ambito definito — Le autorizzazioni possono essere limitate a progetti, repository e operazioni specifici tramite la UI Enterprise di Devin.
  • Tracciabilità — L’attività viene registrata nei log di accesso di Entra e nei log di audit di Azure DevOps.
  • Criteri dei branch rispettati — Le PR di Devin sono soggette agli stessi criteri dei branch e agli stessi requisiti di revisione previsti per qualsiasi altro collaboratore.

Buone pratiche

  • Usa autorizzazioni a livello di repository — Concedi a Devin l’accesso solo ai repository e ai progetti specifici di cui ha bisogno, anziché all’intera organizzazione.
  • Abilita i criteri del branch — Configura i criteri del branch in Azure DevOps per garantire che tutte le modifiche passino attraverso adeguati processi di revisione prima di essere integrate.
  • Monitora i log di audit — Controlla regolarmente i log di audit di Azure DevOps e i log di accesso di Entra relativi all’attività del service principal.

Risoluzione dei problemi

Il consenso amministratore non va a buon fine:
  • Verifica che l’utente che approva disponga dell’autorizzazione per concedere il consenso amministratore alle applicazioni nel tenant Entra
  • Se il tenant limita il consenso alle applicazioni, potrebbe essere necessario l’intervento di un Amministratore globale o di un Amministratore applicazioni cloud
Il service principal non è visibile in Azure DevOps:
  • Verifica che il consenso amministratore sia stato completato correttamente nel portale Entra in Applicazioni aziendali (cerca Cognition Azure DevOps Service Principal)
  • Assicurati che il service principal sia stata aggiunta esplicitamente all’organizzazione Azure DevOps in Settings dell’organizzazione > Utenti
L’accesso è bloccato da Accesso condizionale / MFA:
  • Se il service principal è soggetta a criteri di Accesso condizionale che impongono l’MFA, l’aggiornamento del token non riuscirà senza mostrare errori. Crea un’esclusione di Accesso condizionale per il service principal relativa all’applicazione Devin.
Devin non riesce a vedere i miei repository:
  • Verifica che il service principal sia stata aggiunta all’organizzazione Azure DevOps in Settings dell’organizzazione > Utenti
  • Conferma che il livello di accesso sia impostato su Basic (Stakeholder non è sufficiente per l’accesso API)
  • Verifica che le autorizzazioni del repository siano state concesse nelle Enterprise Settings di Devin
  • Assicurati che i repository siano stati aggiunti a Devin’s Machine
La creazione della pull request non riesce:
  • Conferma che il service principal disponga delle autorizzazioni di Collaboratore nel repository di destinazione
  • Verifica che i criteri del branch non blocchino la creazione della PR
  • Verifica che il branch di destinazione esista e sia accessibile

Configurazione di rete

Se nella tua istanza di Azure DevOps è abilitato il filtro IP, dovrai aggiungere gli indirizzi IP di Devin alla whitelist. Per l’elenco più aggiornato, consulta la nostra documentazione sull’IP whitelisting.