Connettere Azure Boards a 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. Connettere 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 Connettere Azure DevOps Server a GitHub Enterprise Server.
Prerequisiti
Requisiti del progetto: avere un progetto Azure DevOps. Se non si ha un progetto, crearne uno.
Autorizzazioni:
- Essere un membro del gruppo Project Administrators. Se il progetto è stato creato, si dispone delle autorizzazioni.
- Essere un amministratore o proprietario del repository GitHub a cui connettersi. È 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 un pat, configurare l'accesso Single Sign-On (SSO) per il pat nell'account GitHub. Questa configurazione è necessaria per recuperare un elenco di repository da un'organizzazione con l'autenticazione SSO SAML (Security Assertion Markup Language) abilitata.
Connettere Azure Boards a un repository GitHub.
Accedere al progetto (
https://dev.azure.com/{Your_Organization/Your_Project}
).Selezionare Impostazioni>progetto Connessioni GitHub.
Se è la prima volta che ci si connette dal progetto, selezionare Connetti l'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 Nuova connessione.
Quando ci si connette con l'account GitHub, usare le credenziali di GitHub per l'autenticazione. Per usare un token di accesso personale, vedere Aggiungere una connessione GitHub tramite PAT. Per la connessione 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, accedere usando le credenziali di GitHub. Scegliere un account per il quale si è un amministratore del repository.
Selezionare l'account GitHub o l'organizzazione da connettere. Vengono elencate solo le organizzazioni di cui si è proprietari o di cui si è amministratori.
Se tutti i repository per un'organizzazione sono già connessi ad Azure Boards, verrà 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 selezionare Verifica. In caso contrario, il sistema riconoscerà automaticamente l'organizzazione GitHub perché l'account GitHub è associato all'account Azure DevOps Services.
Aggiungere repository GitHub
Dopo l'autenticazione, è possibile selezionare i repository da connettere.
La finestra di dialogo Aggiungi repository GitHub viene visualizzata automaticamente e seleziona tutti i repository GitHub.com per cui si è amministratori nell'organizzazione selezionata. Deselezionare tutti i repository che non si desidera includere nell'integrazione.
Suggerimento
Per evitare collegamenti di riferimento AB# imprevisti, è consigliabile connettere un repository GitHub ai progetti all'interno di una singola organizzazione di Azure DevOps. La connessione dello stesso repository GitHub ai progetti in più organizzazioni di Azure DevOps può causare problemi. 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 a un'altra organizzazione, viene visualizzato il messaggio seguente:
Dopo aver effettuato le selezioni, selezionare 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. Se è necessario usare un token di accesso personale, seguire questa procedura.
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 Settings > Personal access tokens (Token di accesso personali).
Immettere pat e selezionare Connetti.
Selezionare 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, installare l'app Azure Boards per GitHub. Verificare la connessione in precedenza in questo articolo.
Registrare Azure DevOps in GitHub come app OAuth
Per usare OAuth per connettere Azure DevOps con GitHub Enterprise Server, registrare prima 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 Impostazioni Impostazioni>App>Oauth>Nuova app OAuth.
Immettere le informazioni di registrazione.
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.
Connettere Azure DevOps Services a GitHub Enterprise Server
Importante
Per connettere Azure DevOps Services a GitHub Enterprise Server, assicurarsi che GitHub Enterprise Server sia accessibile da Internet. Verificare che DNS di Azure sia in grado di risolvere il nome di GitHub Enterprise Server e che 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. Un messaggio di errore comune per i problemi di connettività è:
Impossibile risolvere il nome remoto: 'github-enterprise-server.contoso.com'
Se si verifica questo errore, controllare l'accessibilità del server. 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.
Connettersi con OAuth
Scegliere la configurazione configurata nel passaggio 4 di Registrare la configurazione OAuth in Azure DevOps Services e quindi scegliere Connetti.
Connettersi 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 Connetti.
Connettersi con un nome utente e una password
Immettere l'URL per il server GitHub Enterprise e le credenziali dell'account amministratore riconosciute da tale server e quindi selezionare Connetti.
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 usa vari protocolli di autenticazione per mantenere la connessione. Le modifiche apportate all'ambito di autorizzazione o alle credenziali di autenticazione di un utente possono revocare i 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 supportate seguenti dipendono dalla piattaforma GitHub a cui ci si connette:
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 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.
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 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 potrebbero 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 perde l'accesso, lo stato di un avviso con una X rossa viene visualizzato nell'interfaccia utente. Passare il puntatore del mouse sull'avviso per verificare che le credenziali non siano più valide. Per risolvere il problema, rimuovere la connessione e crearne una nuova.
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 token di accesso personale potrebbe essere revocato o gli ambiti di autorizzazione necessari sono stati modificati e non sono sufficienti.
L'utente potrebbe non avere autorizzazioni di amministratore per il 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 potrebbe non funzionare come previsto. Le menzioni degli elementi di lavoro all'interno di GitHub potrebbero essere ritardate o mai visualizzate in Azure DevOps Services 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 descritti nella documentazione di Connect from Azure Boards (Connettersi da Azure Boards ).
Correggere l'URL del webhook: passare alla pagina delle impostazioni del repository di GitHub e modificare l'URL del webhook, puntando all'URL dell'organizzazione azure DevOps migrato:
https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview
Connettersi a più organizzazioni di Azure DevOps
La connessione del repository GitHub ai progetti in più organizzazioni Di Azure DevOps, ad esempio dev.azure.com/Contoso e dev.azure.com/Fabrikam, può causare risultati imprevisti con menzioni AB# . Gli ID elemento di lavoro non sono univoci nelle organizzazioni di Azure DevOps, quindi AB#12 può fare riferimento a un elemento di lavoro in Contoso o Fabrikam. Quando un elemento di lavoro viene menzionato in un messaggio di commit o in una richiesta pull, entrambe le organizzazioni potrebbero tentare di collegarsi a un elemento di lavoro con l'ID corrispondente, causando confusione.
Per evitare questo problema, connettere un singolo repository GitHub a una sola organizzazione di Azure DevOps.
Nota
Quando ci si connette usando l'app Azure Boards per GitHub, l'app impedisce le connessioni a più organizzazioni. Se un repository GitHub è connesso all'organizzazione Azure DevOps errata, contattare il proprietario dell'organizzazione per rimuovere la connessione prima di aggiungere il repository all'organizzazione Azure DevOps corretta.
Aggiornare le definizioni XML per i tipi di elemento di lavoro selezionati
Aggiornare le definizioni XML per i tipi di elemento di lavoro se l'organizzazione usa il modello di processo XML ospitato o XML locale per personalizzare l'esperienza di rilevamento del lavoro e collegarsi e visualizzare i tipi di collegamento GitHub dalla sezione Sviluppo nei moduli dell'elemento 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 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 del codice per supportare i tipi di collegamento esterno: 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>
Domande frequenti
D: Alcuni utenti di Azure DevOps hanno identità GitHub. È necessario aggiungerli come nuovi utenti di GitHub all'organizzazione?
R: No. Chiedere agli utenti di disconnettersi e quindi accedere di nuovo all'organizzazione con le credenziali di GitHub da una nuova sessione del browser. Questa azione stabilirà le identità di GitHub.
D: Sono un amministratore dell'organizzazione e ho abilitato i criteri per invitare gli utenti di GitHub. Perché non è possibile invitare nuovi utenti di GitHub?
R: Dopo aver modificato l'impostazione, disconnettersi da Azure DevOps e quindi 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 gli utenti di GitHub?
R: Solo gli amministratori dell'organizzazione o del progetto possono invitare nuovi utenti a partecipare all'organizzazione. È possibile che non si disponga delle autorizzazioni necessarie per aggiungere nuovi utenti. Collaborare con l'amministratore per ottenere le autorizzazioni necessarie o chiedere loro di aggiungere l'utente.