Connessione 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 Connessione Azure Boards in GitHub.
Quando si connette il progetto Azure DevOps Server ai repository GitHub Enterprise Server, è supportato il collegamento tra i commit di GitHub e le richieste pull agli elementi di lavoro. È possibile usare GitHub Enterprise per lo sviluppo di software durante l'uso di Azure Boards per pianificare e tenere traccia del lavoro.
Nota
Azure DevOps Server 2019 locale supporta l'integrazione con i repository GitHub Enterprise Server. Per connettersi da Azure DevOps Services, vedere Connessione Azure Boards in GitHub.
Prerequisiti
- Connessione ai repository GitHub.com installando Azure DevOps Server 2020.1.1 Patch 2. Senza questa patch, è possibile connettersi solo ai repository GitHub Enterprise Server.
- Installare l'app Azure Boards per GitHub nelle organizzazioni o nell'account GitHub.
- Connessione a un progetto Azure Boards o Azure DevOps. Se non si ha ancora un progetto, crearne uno.
- È necessario essere membri del gruppo Project Collection Amministrazione istrators e del gruppo Collaboratori del progetto. Se il progetto è stato creato, si dispone delle autorizzazioni.
- È necessario essere un amministratore di GitHub Enterprise Server a cui ci si connette.
Opzioni di autenticazione
Sono supportate le opzioni di autenticazione seguenti.
Nota
OAuth non è supportato per Azure DevOps Server 2020.
Registrare Azure DevOps in GitHub come app OAuth
Se si prevede di usare OAuth per connettere Azure DevOps Server con GitHub Enterprise Server, è prima necessario registrare l'applicazione come app OAuth. Per altre informazioni, vedere Creare un'app OAuth.
Registrare Azure DevOps Server
Accedere al portale Web per il server GitHub Enterprise.
Selezionare Impostazioni> Impostazioni sviluppo>App Oauth>Nuova app OAuth.
Immettere le informazioni per registrare l'applicazione Azure DevOps Server.
Per l'URL della home page specificare l'URL pubblico della raccolta di progetti. È possibile trovare questo URL quando si apre la console di Amministrazione istration di Azure DevOps e si visualizza il nodo livello applicazione.
Per l'URL di callback di autorizzazione, usare il modello seguente per costruire l'URL.
{Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback
Ad esempio:
http://contoso/DefaultCollection/_admin/oauth2/callback
https://tfs.contoso.com/MyCollection/_admin/oauth2/callback
Selezionare Registra applicazione.
Viene visualizzata una pagina che fornisce l'ID client e il segreto client per l'applicazione OAuth registrata.
Registrare la configurazione OAuth in Azure DevOps Server
Accedere al portale Web per azure DevOps Server.
Aggiungere la configurazione Oauth di GitHub Enterprise alla raccolta di Azure DevOps Server.
Selezionare Amministrazione impostazioni>Configurazioni>Oauth Aggiungi configurazione Oauth.
Immettere le informazioni e quindi selezionare Crea.
Connessione Azure DevOps Server a GitHub Enterprise Server
È possibile connettere fino a 250 repository GitHub a un progetto di Azure Boards.
Nota
Connessione a più di 100 repository GitHub richiede l'aggiornamento di Azure DevOps Server 2020.1 o versione successiva.
Connessione ion per GitHub.com repository richiede Azure DevOps Server 2020.1.1 Patch 2 o versione successiva.
È possibile connettere fino a 100 repository GitHub a un progetto di Azure Boards. Questo limite non può essere modificato.
Aprire il portale Web per il server Azure DevOps.
Selezionare il logo di Azure DevOps per aprire Progetti e quindi scegliere il progetto Azure Boards da configurare per connettersi ai repository GitHub Enterprise.
Selezionare Impostazioni>progetto Connessioni GitHub.
Se è la prima volta che si effettua una connessione dal progetto, scegliere il metodo di autenticazione da usare per stabilire la connessione:
- Token di accesso personale per informazioni dettagliate, vedere Connessione usando un token di accesso personale.
- Nome utente e password, vedere Connessione usando un nome utente e una password.
In caso contrario, selezionare Nuova connessione e selezionare il metodo di autenticazione nella finestra di dialogo Nuovo Connessione ion.
Selezionare Impostazioni>progetto Connessioni> GitHub Connessione l'account GitHub Enterprise.
In alternativa, scegliere un token di accesso personale o un nome utente e una password, se si usano tali credenziali.
Connessione con OAuth
Scegliere la configurazione configurata nel passaggio 4 di Registrare la configurazione OAuth in Azure DevOps Server. Selezionare Connect (Connetti).
Connessione con un token di accesso personale
Per creare un token di accesso personale, vedere Creazione di un token di accesso personale.
Suggerimento
Quando si crea il pat di GitHub, assicurarsi di includere questi ambiti:
repo, admin:repo_hook, read:user, user:email
.Immettere l'URL per il server GitHub Enterprise e le credenziali del token di accesso personale riconosciute da tale server. Selezionare quindi Connessione.
Connessione con nome utente e password
- Immettere l'URL per il server GitHub Enterprise e le credenziali dell'account amministratore riconosciute da tale server. Quindi scegliere Connessione.
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 .
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
- GitHub.com account utente
- Token di accesso personale
- OAuth
- Token di accesso personali
- Nome utente e password
Azure DevOps Server 2020
Non applicabile
- Token di accesso personali
- Nome utente e password
Azure DevOps Server 2019
Non applicabile
- OAuth
- Token di accesso personali
- Nome utente e password
Nota
Con l'app Azure Boards per GitHub, Azure Boards e Azure DevOps Services supportano l'integrazione con GitHub.com e repository GitHub Enterprise Server. Azure DevOps Servers 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.
Quando la connessione di Azure Boards a GitHub non ha più accesso, viene visualizzato lo stato di un avviso nell'interfaccia utente con una X rossa con una descrizione comando, ad esempio Impossibile connettersi a GitHub.
Prendere in considerazione le risoluzioni seguenti:
Se la connessione usa OAuth:
L'applicazione Azure Boards ha negato l'accesso 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 può essere stato revocato o gli ambiti di autorizzazione necessari sono stati modificati e non sono sufficienti.
L'utente potrebbe aver perso le autorizzazioni di amministratore nel repository GitHub.
Ricreare il pat e assicurarsi che l'ambito per il token includa le autorizzazioni necessarie:
repo, read:user, user:email, admin:repo_hook
.
Aggiornare le definizioni XML per i tipi di elemento di lavoro selezionati
Se l'organizzazione usa il modello di processo XML ospitato o locale per personalizzare l'esperienza di rilevamento del lavoro e si vuole collegare e visualizzare i tipi di collegamento GitHub dalla sezione Sviluppo nei moduli dell'elemento di lavoro, è necessario aggiornare le definizioni XML per i tipi di elemento di lavoro.
Ad esempio, se si vogliono collegare storie utente e bug ai commit e alle richieste pull di GitHub dalla sezione Sviluppo , è necessario aggiornare le definizioni XML per le storie utente e i bug.
Seguire la sequenza di attività fornite nel modello di processo XML ospitato per aggiornare le definizioni XML. Per ogni tipo di elemento di lavoro, trovare la Group Label="Development"
sezione e aggiungere le due righe seguenti nella sintassi di codice seguente per supportare i tipi di collegamenti esterni: GitHub Commit e GitHub Pull Request.
<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
Articoli correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per