Condividi tramite


Collegare Azure Boards con GitHub (cloud)

Servizi di Azure DevOps

Connettere il progetto di Azure Boards ai repository GitHub.com in modo che i commit e le richieste pull vengano collegati automaticamente agli elementi di lavoro. Questa integrazione consente di pianificare e tenere traccia del lavoro in Azure Boards mentre il team si sviluppa in GitHub.

Dopo la connessione, è possibile:

  • Collegare automaticamente commit, rami e richieste pull agli elementi di lavoro
  • Monitorare lo stato di avanzamento dello sviluppo direttamente da Azure Boards
  • Usare GitHub Copilot con gli elementi di lavoro per lo sviluppo assistito dall'intelligenza artificiale

Note

Azure Boards supporta l'integrazione sia con GitHub.com che con GitHub Enterprise Server. Per connettersi da un server Azure DevOps locale, vedere Connettere Azure DevOps Server a GitHub Enterprise Server.

Prerequisites

Category Requirements
Permissions - Membro del gruppo Amministratori della raccolta di progetti. Se hai creato il progetto, disponi delle autorizzazioni.
- Amministratore o proprietario del repository GitHub al quale connettersi. È possibile connettersi a più repository GitHub purché si sia amministratori di tali repository.
Appartenenza al progetto membro del progetto.

Opzioni di autenticazione

Le opzioni di autenticazione seguenti sono supportate in base alla piattaforma GitHub a cui ci si vuole connettere.

GitHub.com

GitHub Enterprise Server

Note

Se ci si connette con un token di accesso personale, configurare l'accesso Single Sign-On (SSO) per tale accesso nell'account GitHub. L'accesso Single Sign-On è necessario per elencare i repository di un'organizzazione che usa l'autenticazione SAML.

Connettere Azure Boards a un repository di GitHub

  1. Accedi al tuo progetto (https://dev.azure.com/{Your_Organization/Your_Project}).

  2. Selezionare Impostazioni progetto>GitHub connessioni.

    Screenshot delle Impostazioni progetto aperte>connessioni GitHub.

  3. Per una connessione per la prima volta, selezionare Connetti l'account GitHub per l'autenticazione con le credenziali di GitHub.

    Screenshot della prima connessione con GitHub credentials.

    Per le connessioni successive, selezionare Nuova connessione e scegliere il metodo di autenticazione.

    Per connettersi con un token di accesso personale, vedere Aggiungere invece una connessione GitHub tramite PAT. Per GitHub Enterprise Server, vedere Registrare Azure DevOps in GitHub come app OAuth.

Aggiungere una connessione GitHub con le credenziali di GitHub

È possibile connettere fino a 1.000 repository GitHub a un progetto di Azure Boards.

  1. Accedere con le credenziali di GitHub. Scegliere un account in cui si è un amministratore del repository.

  2. Selezionare l'account GitHub o l'organizzazione da connettere. Solo le organizzazioni di cui si è proprietari o amministrate vengono visualizzate nell'elenco.

    Se tutti i repository per un'organizzazione sono già connessi, viene visualizzato il messaggio seguente:

    Screenshot del messaggio in cui non esistono più repository per la connessione.

  3. Immettere le credenziali GitHub. Se è abilitata l'autenticazione a due fattori, immettere il codice inviato da GitHub e selezionare Verifica.

Aggiungi repository GitHub

Dopo l'autenticazione, selezionare i repository da connettere.

  1. La finestra di dialogo Aggiungi repository GitHub visualizza e preseleziona tutti i repository in cui si è un amministratore dell'organizzazione selezionata. Cancellare tutti i repository che non si desidera connettere.

    Screenshot che mostra i repository di GitHub.

    Tip

    Connettere ogni repository GitHub ai progetti in una singola organizzazione di Azure DevOps per evitare il collegamento di menzioni AB# impreviste. Per altre informazioni, vedere Risolvere i problemi di connessione.

    Se tutti i repository sono già connessi all'organizzazione corrente o a un'altra organizzazione, viene visualizzato il messaggio seguente:

    Screenshot del messaggio in cui non esistono più repository per la connessione.

  2. Seleziona Salva.

Confermare la connessione

  1. Nella pagina GitHub selezionare Approva, Installa e Autorizza.

    Screenshot che conferma GitHub repository.

  2. Immettere le credenziali di GitHub da confermare.

  3. La nuova connessione viene visualizzata con i repository selezionati elencati.

Screenshot dell'elenco dei repository connessi.

Per modificare la configurazione o gestire l'app Azure Boards per GitHub, vedere Change repository access to Azure Boards.

Aggiungere una connessione GitHub tramite PAT

Important

Prendere in considerazione l'uso dei token Microsoft Entra più sicuri rispetto ai token personali di accesso ad alto rischio. Per altre informazioni, vedere Ridurre l'utilizzo di PAT. Esaminare le indicazioni per l'autenticazione per scegliere il meccanismo di autenticazione appropriato per le proprie esigenze.

Tip

Quando si crea il pat di GitHub, includere questi ambiti: repo, read:user, user:email, admin:repo_hook.

  1. Selezionare Token di accesso personale nella finestra di dialogo Nuova connessione .

    Screenshot della finestra di dialogo, Nuova connessione GitHub, selezionando il Token di accesso personale.

    Per creare un token di accesso personale GitHub, passare a GitHub Impostazioni sviluppatore > Token di accesso personali.

  2. Immettere il PAT e selezionare Connetti.

    Screenshot che mostra il PAT immesso.

  3. Selezionare i repository da connettere. Per informazioni dettagliate, vedere Aggiungere repository GitHub.

  4. Per una connessione per la prima volta, installare l'app Azure Boards per GitHub. Vedere Confermare la connessione.

Registrare Azure DevOps in GitHub come OAuth App

Per connettere Azure DevOps con GitHub Enterprise Server usando OAuth, registrare l'applicazione come app OAuth. Per altre informazioni, vedere Creare un'app OAuth.

Registrare i servizi di Azure DevOps

  1. Accedere al portale Web per GitHub Enterprise Server.

    Screenshot della schermata di accesso per il server di GitHub Enterprise.

  2. Aprire Impostazioni>Impostazioni dello sviluppatore>App OAuth>Nuova app OAuth.

    Screenshot che mostra la sequenza per La nuova app OAuth.

  3. Immettere le informazioni di registrazione.

    • URL della home page : URL dell'organizzazione.
    • URL di callback di autorizzazione : usare il modello {Organization URL}/_admin/oauth2/callback. Ad esempio: https://dev.azure.com/fabrikam/_admin/oauth2/callback

    Screenshot che mostra l'app per la registrazione.

  4. Selezionare Registra applicazione.

  5. Copiare l'ID client e il segreto client visualizzati per l'applicazione OAuth registrata.

    Screenshot dell'ID client e del segreto client per l'applicazione OAuth registrata.

Registrare la configurazione OAuth in Azure DevOps Services

  1. Accedere al portale Web per Azure DevOps Services.

  2. Selezionare Impostazioni organizzazione Configurazioni>>Oauth Aggiungi configurazione Oauth.

    Screenshot delle impostazioni dell'Organizzazione aperte, configurazioni OAuth.

  3. Immettere le informazioni e selezionare Crea.

    Finestra di dialogo Configurazioni OAuth.

Connettere Azure DevOps Services a un GitHub Enterprise Server

Important

GitHub Enterprise Server deve essere accessibile da Internet. Verificare che DNS di Azure possa risolvere il nome del server e che il firewall consenta l'accesso dagli intervalli IP del data center di Azure. Un errore comune è:

Impossibile risolvere il nome remoto: 'github-enterprise-server.contoso.com'

Se viene visualizzato questo errore, controllare l'accessibilità del server. Per altre informazioni, vedere domande frequenti Azure DNS.

  1. Selezionare Impostazioni progetto>GitHub connessioni>GitHub Enterprise Server per una prima connessione.

    Prima connessione, opzione GitHub Enterprise Server.

    Per le connessioni successive, selezionare GitHub Enterprise Server nella finestra di dialogo Nuova connessione GitHub .

    Screenshot della finestra di dialogo Nuova connessione GitHub, scegliendo GitHub Enterprise Server.

  2. Selezionare il metodo di autenticazione.

    Screenshot che mostra la finestra di dialogo del metodo di autenticazione.

    Connettersi con OAuth : selezionare la configurazione OAuth registrata in Registrare la configurazione OAuth e quindi selezionare Connetti.

    Screenshot della nuova connessione di GitHub Enterprise, finestra di dialogo di connessione OAuth.

    Connettersi con un token di accesso personale : immettere l'URL di GitHub Enterprise Server e pat, quindi selezionare Connetti.

    Screenshot di Nuova connessione GitHub Enterprise, finestra di dialogo connessione token di accesso personale.

    Connettersi con le credenziali di GitHub : immettere l'URL e le credenziali di amministratore di GitHub Enterprise Server e quindi selezionare Connetti.

    Screenshot della schermata di nuova connessione a GitHub Enterprise, finestra di dialogo per la connessione del nome utente.

  3. Nella finestra di dialogo sono elencati tutti i repository in cui si dispone dei diritti di amministrazione. Passare da Mine a All per trovare altri repository, selezionare quelli da aggiungere e quindi selezionare Salva.

    Screenshot dei repository elencati.

    Tip

    Ogni connessione supporta solo un'organizzazione GitHub. Per connettere i repository da un'altra organizzazione, aggiungere una connessione separata.

  4. Per una connessione per la prima volta, installare l'app Azure Boards per GitHub. Vedere Confermare la connessione.

Risolvere i problemi di connessione

L'integrazione di Azure Boards-GitHub usa diversi protocolli di autenticazione per mantenere la connessione. Le modifiche apportate agli ambiti di autorizzazione o alle credenziali possono disconnettere i repository GitHub collegati.

Per una panoramica dell'integrazione, vedere Integrazione di Azure Boards-GitHub.

Opzioni di autenticazione supportate

Le opzioni di autenticazione supportate seguenti dipendono dalla piattaforma GitHub a cui ci si connette:

Piattaforma

GitHub.com

GitHub Enterprise Server

Servizi di Azure DevOps

  • Account utente GitHub.com
  • Token di accesso personale
  • OAuth
  • PAT
  • credenziali di GitHub

Azure DevOps Server 2020

Non applicabile

  • PAT
  • credenziali di GitHub

Note

supporto per l'integrazione di GitHub:

  • Azure DevOps Services: si integra sia con i repository GitHub.com che con GitHub Enterprise Server tramite l'app Azure Boards per GitHub.
  • Azure DevOps Server 2020 e versioni successive: supporta l'integrazione solo con i repository di GitHub Enterprise Server.
  • Altri repository Git: l'integrazione non è supportata.

Concedere l'accesso all'organizzazione Azure Boards

Se l'integrazione non funziona come previsto, verificare di aver concesso l'accesso all'organizzazione.

  1. Nel portale Web GitHub aprire Impostazioni dal menu del profilo.
    Screenshot del profilo aperto, scegliere le Impostazioni.

  2. Selezionare Applications in Integrations>Authorized OAuth Apps>Azure Boards.

  3. In Accesso all'organizzazione selezionare Concedi per qualsiasi organizzazione che mostri La richiesta di accesso in sospeso.

    Screenshot dell'accesso all'organizzazione con organizzazioni che non hanno accesso.

Risolvere i problemi di accesso

Quando la connessione di Azure Boards a GitHub perde l'accesso, viene visualizzato un avviso red-X nell'interfaccia utente. Passare il puntatore del mouse sull'avviso per confermare che le credenziali non sono più valide. Rimuovere la connessione e crearne una nuova.

Screenshot della connessione non riuscita.

  • Connessioni OAuth:

    • Accesso ad Azure Boards negato per uno dei repository.

    • GitHub o Azure DevOps potrebbero non essere raggiungibili a causa di un'interruzione del servizio o di rete. Controllare lo stato: GitHub | Azure DevOps

      Eliminare e ricreare la connessione. GitHub richiede di riautorizzare Azure Boards.

  • Connessioni PAT:

    • Il token di accesso personale è stato revocato o gli ambiti di autorizzazione non sono sufficienti.

    • L'utente potrebbe non disporre delle autorizzazioni di amministratore per il repository GitHub.

      Ricreare il token di accesso personale con gli ambiti necessari: repo, read:user, user:email, admin:repo_hook. Per ulteriori informazioni, vedere Procedure consigliate per l'uso dei PAT.

Risolvere la connessione GitHub Enterprise Server interrotta

Se è stata eseguita la migrazione da Azure DevOps Server ad Azure DevOps Services con una connessione GitHub Enterprise Server esistente, le menzioni degli elementi di lavoro in GitHub potrebbero essere ritardate o mancanti perché l'URL di callback non è più valido.

  • Rimuovere e ricreare la connessione : seguire la procedura descritta in Connettere Azure DevOps Services a GitHub Enterprise Server.

  • Correggere l'URL del webhook : nelle impostazioni del repository GitHub aggiornare l'URL del webhook in modo che punti all'organizzazione migrata: https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview

Connettersi a più organizzazioni Azure DevOps

La connessione di un repository GitHub ai progetti in più organizzazioni Di Azure DevOps (ad esempio, dev.azure.com/Contoso e dev.azure.com/Fabrikam) può causare un comportamento di menzione AB# imprevisto. Gli ID elemento di lavoro non sono univoci tra le organizzazioni, quindi AB#12 potrebbe corrispondere a un elemento di lavoro in una delle due organizzazioni. Entrambe le organizzazioni potrebbero tentare di collegarsi all'ID corrispondente, causando confusione.

Per evitare questo problema, connettere ogni repository GitHub a una sola organizzazione di Azure DevOps.

Note

L'app Azure Boards per GitHub impedisce le connessioni a più organizzazioni. Se un repository è connesso all'organizzazione errata, contattare il proprietario dell'organizzazione per rimuovere la connessione prima di aggiungerlo all'organizzazione corretta.

Aggiornare le definizioni XML per i tipi di elemento di lavoro selezionati

Se l'organizzazione usa il modello di processo XML ospitato o XML locale, aggiornare le definizioni XML per i tipi di elemento di lavoro per visualizzare i tipi di collegamento di GitHub nella sezione Sviluppo dei moduli degli elementi di lavoro.

Ad esempio, per collegare le storie utente e i bug ai commit e alle richieste pull di GitHub dalla sezione Sviluppo , aggiornare le definizioni XML per tali tipi di elemento di lavoro.

Seguire la procedura descritta in Hosted XML process model (Modello di processo XML ospitato). Per ogni tipo di elemento di lavoro, trovare la Group Label="Development" sezione e aggiungere le righe seguenti per supportare i tipi di collegamento gitHub Commit e GitHub Pull Request :

             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  

Dopo l'aggiornamento, la sezione dovrebbe essere visualizzata nel modo seguente:

<Group Label="Development">  
   <Control Type="LinksControl" Name="Development">  
      <LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">  
         <ListViewOptions GroupLinks="false">   
         </ListViewOptions>  
         <LinkFilters>  
             <ExternalLinkFilter Type="Build" />  
             <ExternalLinkFilter Type="Integrated in build" />  
             <ExternalLinkFilter Type="Pull Request" />  
             <ExternalLinkFilter Type="Branch" />  
             <ExternalLinkFilter Type="Fixed in Commit" />  
             <ExternalLinkFilter Type="Fixed in Changeset" />  
             <ExternalLinkFilter Type="Source Code File" />  
             <ExternalLinkFilter Type="Found in build" />  
             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  
         </LinkFilters>  
      </LinksControlOptions>  
   </Control>  
</Group>  

FAQs

D: Alcuni utenti di Azure DevOps hanno identità GitHub. È necessario aggiungerli come nuovi utenti GitHub all'organizzazione?

R: No. Chiedere agli utenti di disconnettersi, quindi accedere di nuovo all'organizzazione con le credenziali di GitHub da una nuova sessione del browser.

D: Sono un amministratore dell'organizzazione e ho abilitato la policy per invitare utenti GitHub. Perché non è possibile invitare nuovi utenti GitHub?

R: Disconnettersi da Azure DevOps e accedere di nuovo all'organizzazione (dev.azure.com/{organizationName} o organizationName.visualstudio.com) con le credenziali di GitHub da una nuova sessione del browser.

D: È stato eseguito l'accesso con le credenziali di GitHub, ma perché non è possibile invitare GitHub utenti?

R: Solo gli amministratori dell'organizzazione o del progetto possono invitare nuovi utenti. Collaborare con l'amministratore per ottenere le autorizzazioni o chiedere loro di aggiungere l'utente.

D: Gli utenti di GitHub Enterprise ottengono l'accesso gratuito a Azure DevOps?

R: Per altre informazioni, vedere domande frequenti sulla gestione di Utente e autorizzazioni/GitHub Enterprise.

Passo successivo