Condividi tramite


Connettere Azure DevOps Server a GitHub (locale)

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Quando si connette il progetto Azure DevOps Server ai repository GitHub, è supportato il collegamento tra i commit di GitHub e le richieste pull agli elementi di lavoro. È possibile usare GitHub per lo sviluppo di software durante l'uso di Azure Boards per pianificare e tenere traccia del lavoro.

Nota

Azure DevOps Server 2020 locale supporta l'integrazione con repository GitHub.com e GitHub Enterprise Server. Per connettersi da Azure DevOps Services, vedere Connettere Azure Boards a GitHub.

Prerequisiti

Categoria Requisiti
autorizzazioni - Membro del gruppo Project Collection Administrators e del gruppo Collaboratori del progetto. Se hai creato il progetto, allora hai le autorizzazioni.
- amministratore di GitHub Enterprise Server a cui ti connetti.
Appartenenza al progetto membro del progetto.
integrazione di con GitHub - Azure DevOps Server 2020.1.1 Patch 2. Senza questa patch, è possibile connettersi solo ai repository GitHub Enterprise Server.
- l'app Azure Boards per GitHub installata sulle organizzazioni o sull'account GitHub.

Opzioni di autenticazione

Sono supportate le opzioni di autenticazione seguenti.

Nota

OAuth non è supportato per Azure DevOps Server 2020.

Connettere Azure DevOps Server a GitHub Enterprise Server

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

Nota

La connessione a più di 100 repository GitHub richiede l'aggiornamento di Azure DevOps Server 2020.1 o versione successiva.
La connessione ai repository GitHub.com richiede Azure DevOps Server 2020.1.1 Patch 2 o versione successiva.

  1. Aprire il portale Web per il server Azure DevOps.

  2. Selezionare il logo di Azure DevOps per aprire Progetti e quindi scegliere il progetto Azure Boards da configurare per connettersi ai repository GitHub Enterprise.

  1. Selezionare Impostazioni progetto>Connessioni GitHub.

    Screenshot delle connessioni GitHub aperte nelle impostazioni del progetto.>

  2. Se è la prima volta che si effettua una connessione dal progetto, scegliere il metodo di autenticazione da usare per stabilire la connessione:

    Screenshot della prima connessione con le credenziali di GitHub.

    In caso contrario, selezionare Nuova connessione e selezionare il metodo di autenticazione nella finestra di dialogo Nuova connessione.

Connettersi con un token di accesso personale

  1. Per creare un token di accesso personale, vedere Creazione di un token di accesso personale.

    Suggerimento

    Quando crei il tuo PAT di GitHub, assicurati di includere questi scopi: repo, admin:repo_hook, read:user, user:email.

  2. Immettere l'URL per il server GitHub Enterprise e le credenziali del token di accesso personale riconosciute da tale server. Quindi selezionare Connetti.

Screenshot della schermata di accesso con PAT.

Connettersi con le credenziali di GitHub

  1. Immettere l'URL per il server GitHub Enterprise e le credenziali dell'account amministratore riconosciute da tale server. Quindi scegliere Connetti.

Screenshot dell'accesso con le credenziali di GitHub.

  1. La finestra di dialogo elenca tutti i repository per i quali si dispone dei diritti di amministrazione di GitHub. È possibile passare da Mine a All per determinare se vengono visualizzati altri utenti e quindi controllare quelli che si desidera aggiungere. Al termine, scegliere Salva .

    Screenshot dei repository da selezionare per aggiungerli.

  2. Per connettersi a un account GitHub o a un'organizzazione da Azure Boards per la prima volta, è anche possibile installare l'app Azure Boards per GitHub. Completare l'integrazione seguendo le procedure descritte in Confermare la connessione.

Risolvere i problemi di connessione

L'integrazione di Azure Boards-GitHub si basa su vari protocolli di autenticazione per supportare la connessione. Le modifiche apportate all'ambito di autorizzazione o alle credenziali di autenticazione di un utente possono causare la revoca dei repository GitHub connessi ad Azure Boards.

Per una panoramica dell'integrazione supportata dall'app Azure Boards per GitHub, vedere Integrazione di Azure Boards-GitHub.

Opzioni di autenticazione supportate

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

Piattaforma

GitHub.com

GitHub Enterprise Server

Servizi di Azure DevOps

  • account utente GitHub.com
  • Token di accesso personale
  • OAuth
  • Token di accesso personali (PAT)
  • Credenziali di GitHub

Azure DevOps Server 2020

Non applicabile

  • Token di accesso personali
  • Credenziali di GitHub

Azure DevOps Server 2019

Non applicabile

  • OAuth
  • Token d'accesso personale
  • Credenziali di GitHub

Nota

Con l'app Azure Boards per GitHub, Azure Boards e Azure DevOps Services si integrano con repository GitHub.com e GitHub Enterprise Server. Azure DevOps Server 2019 e versioni successive supportano l'integrazione solo con i repository GitHub Enterprise Server. L'integrazione con altri repository Git non è supportata.

Risolvere i problemi di accesso

Quando la connessione di Azure Boards a GitHub non ha più accesso, viene visualizzato lo stato di avviso nell'interfaccia utente con un rosso-X. Passare il puntatore del mouse sull'avviso e indica che le credenziali non sono più valide. Per risolvere il problema, rimuovere la connessione e ricreare una nuova connessione.

Screenshot della connessione non riuscita.

Prendere in considerazione le risoluzioni seguenti:

  • Se la connessione usa OAuth:

    • L'accesso all'applicazione Azure Boards è stato negato per uno dei repository.

    • GitHub potrebbe non essere disponibile/non raggiungibile. Questa indisponibilità potrebbe essere dovuta a un'interruzione del servizio o a un problema di infrastruttura/rete in locale. È possibile controllare lo stato del servizio dai collegamenti seguenti:

      Eliminare e ricreare la connessione al repository GitHub. Questa connessione ricreata fa sì che GitHub chiede di riautorizzare Azure Boards.

  • Se la connessione usa un token di accesso personale:

    • Il PAT è stato revocato o gli ambiti di autorizzazione necessari sono stati modificati e non sono sufficienti.

    • L'utente potrebbe perdere le autorizzazioni amministrative nel repository GitHub.

      Ricreare il PAT e assicuratevi che l'ambito del token includa le autorizzazioni necessarie: repo, read:user, user:email, admin:repo_hook. Per ulteriori informazioni, vedere Buone pratiche per l'uso dei PAT.

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

Se l'organizzazione personalizza il rilevamento del lavoro usando il modello di processo XML ospitato o locale e vuole integrare i tipi di collegamento Di GitHub nella sezione Sviluppo dei moduli degli elementi di lavoro, è necessario aggiornare le definizioni XML per i tipi di elemento di lavoro corrispondenti.

Ad esempio, per collegare le storie utente e i bug ai commit e alle richieste pull di GitHub all'interno della sezione Sviluppo dei moduli degli elementi di lavoro, è necessario aggiornare le definizioni XML per questi tipi di elemento di lavoro.

Per modificare le definizioni XML, eseguire i passaggi descritti in Hosted XML Process Model (Modello di processo XML ospitato). Per ogni tipo di elemento di lavoro:

  1. Individuare la sezione Group Label="Development".
  2. Per supportare i tipi di collegamento esterno, GitHub Commit e GitHub Pull Request, aggiungere le righe di codice seguenti:

Questa integrazione consente di tenere traccia senza problemi delle attività di GitHub direttamente dagli elementi di lavoro in Azure Boards.

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

Quando viene aggiornato, 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>  

Passaggi successivi