Connessione Azure Boards in GitHub (cloud)
Servizi di Azure DevOps
Usare GitHub.com repository per lo sviluppo software e il progetto di Azure Boards per pianificare e tenere traccia del lavoro. Connessione il progetto e il repository in modo che i commit e le richieste pull di GitHub vengano collegati agli elementi di lavoro in Azure Boards.
Nota
Azure Boards e Azure DevOps Services supportano l'integrazione con repository GitHub.com e GitHub Enterprise Server. Per connettersi da un server Azure DevOps locale, vedere Connessione Azure DevOps Server a GitHub Enterprise Server.
Prerequisiti
- È necessario avere un progetto Azure Boards o Azure DevOps. Se non si ha ancora un progetto, crearne uno.
- È necessario essere membri del gruppo Project Amministrazione istrators. Se il progetto è stato creato, si dispone delle autorizzazioni.
- Per connettersi, è necessario essere un amministratore o un proprietario del repository GitHub. È possibile connettersi a più repository GitHub, purché si sia un amministratore per tali repository.
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
Nota
Se si sceglie di connettere Github con PAT, assicurarsi di configurare l'accesso Single Sign-On (SSO) per il pat nell'account GitHub. Questa operazione è necessaria per ottenere un elenco di repository di un'organizzazione con l'autenticazione SSO SAML (Security Assertion Markup Language) configurata.
Connessione Azure Boards in un repository GitHub.
Accedere al progetto Azure DevOps.
Selezionare Impostazioni>progetto Connessioni GitHub.
Se è la prima volta che si effettua una connessione dal progetto, scegliere Connessione account GitHub per usare le credenziali dell'account GitHub.
In caso contrario, scegliere Nuova connessione e selezionare il metodo di autenticazione nella finestra di dialogo Nuovo Connessione ion.
Quando ci si connette usando l'account GitHub, usare le credenziali dell'account GitHub per l'autenticazione. Per usare pat, vedere Aggiungere una connessione GitHub tramite PAT. Per connettersi a un server GitHub Enterprise, vedere Registrare Azure DevOps in GitHub come app OAuth.
Aggiungere una connessione GitHub con le credenziali di GitHub
È possibile connettere fino a 500 repository GitHub a un progetto di Azure Boards.
Se è la prima volta che ci si connette a GitHub da Azure Boards, viene chiesto di accedere usando le credenziali di GitHub. Scegliere un account per il quale si è un amministratore del repository.
Scegliere l'account GitHub o l'organizzazione che si vuole connettere. Vengono elencate solo le organizzazioni di cui si è proprietari o di cui si è amministratori.
Se tutti i repository per un'organizzazione sono già stati connessi ad Azure Boards, viene visualizzato il messaggio seguente.
Immettere le credenziali di GitHub. Se è abilitata l'autenticazione a due fattori, immettere il codice di autenticazione inviato da GitHub e scegliere Verifica. In caso contrario, il sistema riconosce automaticamente l'organizzazione GitHub perché l'account GitHub è stato precedentemente associato all'account di Azure DevOps Services.
Scegliere i repository
Dopo aver eseguito l'autenticazione, è possibile selezionare i repository da connettere.
La finestra di dialogo Aggiungi repository GitHub visualizza e seleziona automaticamente tutti i repository GitHub.com per cui si è amministratori per l'organizzazione selezionata. Deselezionare tutti i repository che non si desidera partecipare all'integrazione.
Suggerimento
È consigliabile connettere un repository GitHub solo ai progetti definiti in una singola organizzazione di Azure DevOps. Connessione lo stesso repository GitHub per i progetti definiti in due o più organizzazioni Di Azure DevOps possono causare imprevisti Collegamento di menzioni AB#. Per altre informazioni, vedere Risolvere i problemi di integrazione di GitHub e Azure Boards.
Se tutti i repository sono già connessi all'organizzazione corrente o ad altra organizzazione, viene visualizzato il messaggio seguente.
Al termine, seleziona Salva.
Confermare la connessione
Esaminare la pagina GitHub visualizzata e quindi scegliere Approva, Installa e Autorizza.
Specificare la password di GitHub per confermare.
Al termine, verrà visualizzata la nuova connessione con i repository selezionati elencati.
Per modificare la configurazione o gestire l'app Azure Boards per GitHub, vedere Modificare l'accesso al repository in Azure Boards.
Aggiungere una connessione GitHub tramite PAT
È consigliabile usare le credenziali dell'account GitHub per connettersi al repository GitHub. Tuttavia, se è necessario usare un token di accesso personale, seguire queste procedure.
Suggerimento
Quando si crea il pat di GitHub, assicurarsi di includere questi ambiti: repo, read:user, user:email, admin:repo_hook
.
Scegliere Token di accesso personale.
Per creare un token di accesso personale di GitHub, passare a GitHub Developer Impostazioni > Token di accesso personali.
Immettere il pat e scegliere Connessione.
Scegliere i repository da connettere al progetto seguendo le procedure descritte in Scegliere i repository in precedenza in questo articolo.
Se è la prima volta che ci si connette a un account GitHub o a un'organizzazione da Azure Boards, è necessario installare anche l'app Azure Boards per GitHub. Verificare la connessione in precedenza in questo articolo.
Registrare Azure DevOps in GitHub come app OAuth
Se si prevede di usare OAuth per connettere Azure DevOps con GitHub Enterprise Server, è prima necessario registrare l'applicazione come app OAuth. Per altre informazioni, vedere Creare un'app OAuth.
Registrare Azure DevOps Services
Accedere al portale Web per il server GitHub Enterprise.
Aprire le impostazioni>di Impostazioni> Developer Oauth Apps>New OAuth App (Nuova app OAuth).
Immettere le informazioni per registrare l'applicazione.
Per l'URL della home page specificare l'URL organizzazione dell'organizzazione.
Per l'URL di callback di autorizzazione, usare il modello seguente per costruire l'URL.{Azure DevOps Services Organization URL}/_admin/oauth2/callback
Ad esempio:
https://dev.azure.com/fabrikam/_admin/oauth2/callback
Selezionare Registra applicazione.
Vengono visualizzati l'ID client e il segreto client per l'applicazione OAuth registrata.
Registrare la configurazione OAuth in Azure DevOps Services
Accedere al portale Web per Azure DevOps Services.
Aggiungere la configurazione Oauth di GitHub Enterprise all'organizzazione.
In Impostazioni organizzazione selezionare Configurazioni>Oauth Aggiungi configurazione Oauth.
Immettere le informazioni e quindi selezionare Crea.
Connessione Azure DevOps Services a GitHub Enterprise Server
Importante
Per connettere Azure DevOps Services a GitHub Enterprise Server, gitHub Enterprise Server deve essere sufficientemente accessibile da Internet. Assicurarsi che DNS di Azure possa risolvere il nome del server GitHub Enterprise e il firewall consenta l'accesso dagli indirizzi IP del data center di Azure. Per determinare l'intervallo di indirizzi IP, vedere Intervalli IP del data center di Microsoft Azure. Si è verificato un messaggio di errore comune quando si verificano problemi di connettività:
Impossibile risolvere il nome remoto: 'github-enterprise-server.contoso.com'
Se si verifica questo errore, verificare che il server sia accessibile. Per altre informazioni, vedere Domande frequenti su DNS di Azure.
Selezionare Impostazioni>progetto Connessioni>GitHub GitHub Enterprise Server per una connessione per la prima volta.
In alternativa, nella finestra di dialogo Nuova connessione GitHub selezionare GitHub Enterprise Server.
Selezionare il metodo di autenticazione.
Connessione con OAuth
Scegliere la configurazione configurata nel passaggio 4 di Registrare la configurazione OAuth in Azure DevOps Services e quindi scegliere Connessione.
Connessione con un token di accesso personale
Immettere l'URL per il server GitHub Enterprise e le credenziali del token di accesso personale riconosciute da tale server. Quindi scegliere 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 e quindi selezionare 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, seleziona Salva.
Suggerimento
È possibile stabilire una connessione ai repository definiti in un'unica organizzazione GitHub. Per connettere un progetto ad altri repository definiti in un'altra organizzazione GitHub, è necessario aggiungere un'altra connessione.
Se è la prima volta che ci si connette a un account GitHub o a un'organizzazione da Azure Boards, si installa anche l'app Azure Boards per GitHub. Verificare la connessione in precedenza in questo articolo.
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.
Concedere l'accesso all'organizzazione di Azure Boards
Se l'integrazione tra Azure Boards e GitHub non funziona come previsto, verificare di aver concesso l'accesso all'organizzazione.
Dal portale Web di GitHub aprire Impostazioni dal menu del profilo.
Selezionare Applicazioni in Integrazioni app>OAuth autorizzate>di Azure Boards.
In Accesso all'organizzazione risolvere eventuali problemi che possono verificarsi. Selezionare Concedi per concedere l'accesso a tutte le organizzazioni che mostrano la presenza di una richiesta di Accesso in sospeso.
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.
Per risolvere questo problema, prendere in considerazione gli elementi 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
.
Risolvere la connessione a GitHub Enterprise Server interrotta
Se è stata eseguita la migrazione da Azure DevOps Server ad Azure DevOps Services con una connessione GitHub Enterprise Server esistente, la connessione esistente non funzionerà come previsto. Le menzioni degli elementi di lavoro all'interno di GitHub possono essere ritardate o mai visualizzate in Azure DevOps Services. Questo problema si verifica perché l'URL di callback associato a GitHub non è più valido.
Prendere in considerazione le risoluzioni seguenti:
Rimuovere e ricreare la connessione: rimuovere e ricreare la connessione al repository GitHub Enterprise Server. Seguire la sequenza di passaggi forniti in Connessione dalla documentazione di Azure Boards.
Correggere l'URL del webhook: passare alla pagina delle impostazioni del repository di GitHub e modificare l'URL del webhook per indicare l'URL dell'organizzazione di Azure DevOps Services migrato:
https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview
Connessione a più organizzazioni di Azure DevOps
Se si connette il repository GitHub a due o più progetti definiti in più organizzazioni di Azure DevOps, ad esempio dev.azure.com/Contoso e dev.azure.com/Fabrikam, è possibile ottenere risultati imprevisti quando si usano menzioni AB# per collegarsi agli elementi di lavoro. Questo problema si verifica perché gli ID degli elementi di lavoro non sono univoci nelle organizzazioni di Azure DevOps, quindi AB#12 può fare riferimento a un elemento di lavoro nell'organizzazione Contoso o Fabrikam. Pertanto, quando un elemento di lavoro viene menzionato in un messaggio di commit o in una richiesta pull, entrambe le organizzazioni tentano di creare un collegamento a un elemento di lavoro con un ID corrispondente (se presente).
In generale, un utente intende collegare una menzione AB# a un singolo elemento di lavoro in uno dei progetti. Tuttavia, se un elemento di lavoro dello stesso ID esiste in entrambi gli account, i collegamenti vengono creati per entrambi gli elementi di lavoro, causando probabilmente confusione.
Attualmente, non è possibile risolvere questo problema, quindi è consigliabile connettere un singolo repository GitHub solo a una singola organizzazione di Azure DevOps.
Nota
Quando si effettua la connessione usando l'app Azure Boards per GitHub, l'app impedisce la connessione a due organizzazioni diverse. Se un repository GitHub non è connesso correttamente all'organizzazione Azure DevOps errata, è necessario contattare il proprietario dell'organizzazione per rimuovere la connessione prima di poter aggiungere il repository all'organizzazione Azure DevOps 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 per personalizzare l'esperienza di rilevamento del lavoro e si vuole collegare e visualizzare i tipi di collegamento GitHub dalla sezione Sviluppo nei moduli degli elementi di lavoro, sarà 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 aggiornata, 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 dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per