Collega commit, pull request, branch e problemi di GitHub agli elementi di lavoro in Azure Boards

servizi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Questo articolo illustra come collegare elementi di lavoro a GitHub commit, richieste pull, rami e compilazioni dopo aver connesso il progetto Azure Boards a un repository GitHub. Usa la sintassi #mention per i commit e i branch, usa le menzioni ! per fare riferimento alle pull request GitHub nelle discussioni degli elementi di lavoro oppure aggiungi direttamente un collegamento a un commit, una pull request o un branch GitHub dall'elemento di lavoro di Azure Boards.

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.

Tip

È possibile usare l'intelligenza artificiale per facilitare questa attività più avanti in questo articolo, oppure vedere Abilitare l'assistenza AI con Azure DevOps MCP Server per iniziare.

Prerequisites

Category Requirements
Permissions Si ha accesso come collaboratore sia al progetto Azure Boards che al repository di GitHub.
Connessione al progetto Connettere il progetto Azure Boards al repository GitHub che contiene i commit, le richieste pull e i rami da collegare. Per altre informazioni, vedere integrazione Azure Boards-GitHub.

Note

Se il progetto usa il modello di processo XML ospitato, aggiorna i tipi di elementi di lavoro per visualizzare la sezione Sviluppo e i tipi di collegamento GitHub. Per altre informazioni, vedere Aggiornare le definizioni XML per selezionare i tipi di elemento di lavoro.

Usa le menzioni AB# nel testo di GitHub per collegare gli elementi di lavoro di Azure Boards.

Per creare un collegamento:

  1. Aggiungere AB#{ID} a un messaggio di commit, una descrizione della richiesta pull o una descrizione del problema.
  2. Pubblica il commit oppure salva la pull request o la segnalazione.
  3. Aprire l'elemento di lavoro per confermare che il collegamento venga visualizzato nella sezione Sviluppo .

L'uso AB#ID di in un commento o in un titolo di richiesta pull non crea un collegamento nell'elemento di lavoro.

AB#{ID}

Ad esempio, AB#125 collega all'ID dell'elemento di lavoro 125.

È anche possibile eseguire la transizione degli elementi di lavoro dal testo della richiesta pull o commit. Azure Boards riconosce {state} o {state category} e parole chiave come fix, fixes e fixed e applica quindi tale transizione al riferimento AB# che segue.

Quando una descrizione di una richiesta pull include un nome di stato valido, ad esempio , Closed AB#1234il sistema aggiorna l'elemento di lavoro a cui si fa riferimento a tale stato specifico. Se il nome dello stato non viene riconosciuto direttamente, Azure Boards prova a corrispondere a una categoria del flusso di lavoro come Resolved o Completed. Se viene trovata una corrispondenza, l'elemento di lavoro passa al primo stato disponibile definito in tale categoria.

Per impostazione predefinita, gli elementi di lavoro a cui si fa riferimento con fix, fixeso fixed passano al primo stato associato alla categoria Risolto . Se tale stato non esiste nel processo corrente, il sistema passa invece l'elemento di lavoro al primo stato nella categoria Completato .

Important

È comunque possibile collegare elementi di lavoro e indirizzare altri rami, ma le regole di transizione dello stato non si applicano a meno che la pull request non venga integrata nel ramo predefinito.

Per altre informazioni, vedere Come vengono usati gli stati delle categorie del flusso di lavoro nei backlog e schede di Azure Boards.

Utilizza i seguenti esempi composti solo da link:

Messaggio di commit o di pull request Action
AB#123 Collega l'elemento di lavoro 123 di Azure Boards. Non viene eseguita alcuna transizione di stato.
Adds a new feature, AB#123. Collega l'elemento di lavoro 123 di Azure Boards. Non viene eseguita alcuna transizione di stato.
AB#123, AB#124, and AB#126 Collega gli elementi di lavoro 123, 124 e 126 di Azure Boards. Non viene eseguita alcuna transizione di stato.
Fixing multiple bugs: issue #123 and user story AB#234 Collegamenti al ticket GitHub 123 e ad Azure Boards work item 234. Non vengono effettuate transizioni.

Usare gli esempi di collegamento e transizione seguenti:

Messaggio di commit o di pull request Action
Fixed AB#123 Collega e passa l'elemento di lavoro alla categoria Stato del flusso di lavoro risolto oppure, se non è definito alcun elemento, la categoria Stato del flusso di lavoro completato .
Closed AB#123 Collega e passa l'elemento di lavoro allo stato Chiuso del flusso di lavoro. Se non è definito alcun oggetto , non vengono effettuate transizioni.
Adds a new feature, fixes AB#123. Collega e passa l'elemento di lavoro alla categoria Stato del flusso di lavoro risolto oppure, se non è definito alcun elemento, la categoria Stato del flusso di lavoro completato .
Fixes AB#123, AB#124, and AB#126 Collegamenti agli elementi di lavoro di Azure Boards 123, 124 e 126. Esegue la transizione solo del primo elemento, 123, alla categoria Stato del flusso di lavoro risolto o, se non è definito alcun elemento, la categoria Stato del flusso di lavoro Completato .
Fixes AB#123, Fixes AB#124, Fixes AB#125 Collegamenti agli elementi di lavoro di Azure Boards 123, 124 e 125. Esegue la transizione di tutti gli elementi alla categoria Stato del flusso di lavoro risolto oppure, se non è definito alcun elemento, la categoria Stato flusso di lavoro completato .

Note

Se hai collegato lo stesso repository di GitHub ai progetti definiti in due o più organizzazioni Azure DevOps, potresti vedere collegamenti imprevisti menzione AB#. Per altre informazioni, vedere Risolvere i problemi di connessione. Per questo motivo, è consigliabile connettere un repository GitHub solo ai progetti definiti in una singola organizzazione Azure DevOps.

Quando si aggiunge un collegamento a un elemento di lavoro usando AB# in una descrizione della richiesta pull, tali collegamenti vengono visualizzati nella sezione Development della richiesta pull GitHub. Questi collegamenti sono disponibili solo quando si usa AB# nella descrizione della richiesta pull. Non vengono visualizzati se si collega alla richiesta pull direttamente dall'elemento di lavoro. La rimozione del AB# riferimento dalla descrizione lo rimuove anche dalla sezione Sviluppo.

Screenshot dei collegamenti AB# nella sezione sviluppo della pull request su GitHub.

Creare branch GitHub dall'elemento di lavoro

Per creare un ramo GitHub direttamente da un elemento di lavoro, seguire questa procedura:

  1. Dalla scheda individuare l'elemento di lavoro che si vuole usare per creare un ramo GitHub.

  2. Selezionare Azioni sugli elementi di lavoro>Nuovo branch GitHub.

    Screenshot dell'elemento di lavoro con l'opzione

  3. Nella finestra di dialogo Creare un ramo GitHub immettere il nome del ramo. Selezionare il repository di GitHub e il ramo di base.

  4. Fare clic su Crea.

    Screenshot della finestra di dialogo Crea un ramo GitHub.

    Azure Boards crea il ramo nel repository di GitHub specificato e lo collega all'elemento di lavoro. Per altre informazioni, vedere integrazione Azure Boards-GitHub.

  1. Aprire l'elemento di lavoro e passare all'area Sviluppo .

  2. Selezionare Aggiungi collegamento. In ogni menu a discesa, selezionare il tipo di link, il repository GitHub e la richiesta di pull su GitHub. È possibile cercare ed eseguire il drill-down all'interno del repository per trovare e selezionare una richiesta o un commit pull specifici, senza dover copiare e incollare un URL.

  3. Selezionare Aggiungi collegamento.

    Screenshot che mostra la sequenza in cinque passaggi per l'aggiunta di un collegamento di richiesta pull all'elemento di lavoro.

    Azure Boards verifica che sia stato immesso un collegamento valido. Il repository collegato a GitHub deve essere connesso al progetto Azure Boards o la convalida non riesce.

Note

Se si usano Azure DevOps Server e GitHub Enterprise Server, si verifica un ritardo durante il completamento dei collegamenti AB#. Il processo utilizza un design "push-and-pull" per eseguire il pull dagli eventi GitHub ogni ora sulle modifiche incrementali nei commit, Pull Request e Issue.

Diversi eventi aggiornano automaticamente i collegamenti nel modulo dell'elemento di lavoro, quindi non è necessario crearli manualmente. Questi eventi includono:

evento GitHub Action
Collegamento al ramo Quando viene creata una richiesta pull da un ramo, viene automaticamente collegata all'elemento di lavoro.
Eseguire il merge del commit Dopo aver unito la richiesta pull, il commit di merge risultante si collega automaticamente all'elemento di lavoro.
Elimina ramo Se il ramo viene eliminato (in genere dopo l'unione), il collegamento viene rimosso automaticamente dall'elemento di lavoro.

La sezione Sviluppo nel modulo dell'elemento di lavoro elenca i link creati per i commit e le pull request di GitHub utilizzando l'icona GitHub .

Screenshot del modulo dell'elemento di lavoro, nella sezione Sviluppo vengono mostrati i collegamenti GitHub.

Selezionare il collegamento per aprire la richiesta di commit o pull in GitHub.

GitHub informazioni dettagliate sulle richieste pull

Le pull request di GitHub collegate nella sezione Sviluppo mostrano ulteriori dettagli sullo stato. È possibile valutare lo stato di avanzamento senza aprire la richiesta pull in GitHub.

Prerequisiti per gli approfondimenti sulle richieste pull

Per visualizzare informazioni dettagliate sulle richieste pull, passare all'app Azure Boards in GitHub e accettare le autorizzazioni aggiornate per l'accesso in lettura e scrittura alle Verifiche.

Screenshot della finestra di dialogo delle autorizzazioni dell'app Azure Boards GitHub che mostra le autorizzazioni di controllo aggiornate.

Visualizzare i dettagli dello stato della richiesta pull

  1. Aprire un elemento di lavoro che ha una pull request di GitHub collegata.

  2. Nella sezione Sviluppo trovare la richiesta pull collegata. Accanto al collegamento alla richiesta pull vengono visualizzati i dettagli di stato seguenti:

    • Stato bozza: indica se la richiesta pull è ancora una bozza.
    • Verifica stato: indica se la richiesta pull deve essere esaminata, approvata o ha modifiche richieste.
    • Controlla lo stato: indica se i controlli CI vengono superati, hanno esito negativo o in sospeso.

    Screenshot della sezione Sviluppo che mostra una pull request GitHub collegata con indicatori di dettaglio dello stato chiuso, revisione e controllo.

  3. Passare il puntatore del mouse su un indicatore di stato per visualizzare altri dettagli oppure selezionare il collegamento della richiesta pull per aprirlo direttamente in GitHub.

Menzionare le pull request di GitHub usando !

Usare ! menzioni per fare riferimento alle pull request di GitHub e discuterne direttamente da qualsiasi campo di testo avanzato o commento di discussione relativo a un elemento di lavoro. Quando si digita ! in un campo di testo, viene visualizzata una selezione che consente di cercare e selezionare una richiesta pull GitHub da un repository connesso. La richiesta pull selezionata viene inserita come collegamento selezionabile.

Questa funzionalità semplifica il riferimento alle richieste pull correlate nelle descrizioni degli elementi di lavoro, nei criteri di accettazione o nei thread di discussione senza copiare manualmente gli URL.

Gif che mostra come usare la menzione ! per fare riferimento a un pull request GitHub da una discussione di un elemento di lavoro.

Visualizzare lo stato della compilazione per le pipeline YAML (integrata nella compilazione)

Quando si usa Azure Pipelines YAML per compilare codice ospitato in un repository di GitHub, è possibile creare automaticamente Integrated in build collegamenti per gli elementi di lavoro associati. Questa funzionalità fornisce la tracciabilità della compilazione per GitHub repository, ottenendo la parità con l'esperienza disponibile per Azure Repos.

Per abilitare questa funzionalità:

  1. Aprire la pipeline YAML, selezionare Altre azioni e quindi selezionare Impostazioni.

  2. Nella finestra di dialogo Impostazioni pipeline abilitare Collega automaticamente nuovi elementi di lavoro in questa compilazione.

    Screenshot della finestra di dialogo delle impostazioni della pipeline YAML che mostra l'opzione per collegare automaticamente nuovi elementi di lavoro in questa compilazione.

Al termine della compilazione, nella sezione Sviluppo di ogni elemento di lavoro associato viene visualizzato automaticamente un collegamento Integrato nella compilazione, offrendo al team una tracciabilità completa dall'elemento di lavoro alla compilazione.

Screenshot dell'elemento di lavoro che mostra il collegamento integrato nella build nella sezione Sviluppo.

Per altre informazioni sulla configurazione di questa impostazione, vedere Configurare le pipeline per supportare il rilevamento del lavoro.

Visualizzare gli oggetti GitHub su una lavagna

Quando si abilitano le annotazioni di GitHub nella bacheca, è possibile aprire rapidamente i commit, le pull request o gli issue di GitHub collegati per maggiori dettagli. Per altre informazioni, vedere Personalizzare le schede.

Screenshot della bacheca che mostra collegamenti GitHub sulle schede degli elementi di lavoro.

Se configuri il Azure DevOps MCP Server, puoi descrivere in linguaggio naturale le attività di collegamento da GitHub agli elementi di lavoro anziché navigare manualmente nel modulo dell'elemento di lavoro.

Usare queste richieste come esempi di scenario. Le operazioni supportate variano in base ai set di strumenti configurati, alla versione dell'estensione e alle autorizzazioni.

Alcune richieste potrebbero restituire indicazioni invece di eseguire un'azione di scrittura oppure potrebbero richiedere più richieste a seconda degli strumenti MCP abilitati.

Prima di eseguire un prompt, sostituisci i segnaposto, come <Contoso>, <owner/repo> e <sha>, con i tuoi valori reali.

Usa questo flusso rapido di esecuzione e controllo:

  1. Esegui un prompt dalla tabella.
  2. Rivedere la risposta relativa all'azione eseguita.
  3. Aprire l'elemento di lavoro e confermare il risultato nella sezione Sviluppo .
  4. Aprire l'elemento GitHub correlato e confermare il collegamento o l'aggiornamento previsto.

Provare prima a eseguire queste richieste:

  • Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42
  • Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha>
  • Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso>
Attività Richiesta di esempio
Collegare un elemento di lavoro a una richiesta pull Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42
Collegare un elemento di lavoro a un commit Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha>
Collegare un elemento di lavoro a un problema Link work item AB#500 in project <Contoso> to GitHub issue <owner/repo>#10
Creare un ramo GitHub da un elemento di lavoro Create a GitHub branch named feature/checkout for work item 500 in project <Contoso> from repo <owner/repo> base branch main
Aggiornare lo stato dell'elemento di lavoro collegato dopo l'unione della PR After PR <owner/repo>#42 merges, update linked work item AB#125 to Resolved
Elementi di lavoro correlati al collegamento bulk Link all active user stories in area path <Contoso\\Web> to GitHub PR <owner/repo>#42
Trova elementi di lavoro non scollegati List all closed work items in project <Contoso> from the last 30 days that have no linked GitHub pull request
Riepiloga l'attività di GitHub per un elemento di lavoro Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso>
Aggiungere un riferimento AB# a una pull request Suggest an AB# reference line to add to PR <owner/repo>#42 description that links to work items 125 and 126
Controlla lo stato delle PR collegate Show the review and check status of all GitHub pull requests linked to active user stories in project <Contoso>

Note

Se si usa Visual Studio Code, usare la modalità agente. Azure DevOps le operazioni del server MCP richiedono la modalità agente per accedere ai dati Azure DevOps ed eseguire operazioni.

Risolvere i problemi di collegamento assistito dall'intelligenza artificiale

  • Se non viene eseguito un prompt, verificare che la modalità agente sia abilitata nel client di intelligenza artificiale.
  • Se una richiesta ha esito negativo con errori di accesso, verificare che l'account abbia accesso al progetto di Azure DevOps e GitHub repository.
  • Se i collegamenti non vengono creati, sostituire tutti i segnaposto (ad esempio, <Contoso>, <owner/repo>, <sha>) con valori reali ed eseguire di nuovo il prompt.
  • Se un prompt bulk ha esito negativo, riprovare prima con un singolo elemento di lavoro, quindi ripetere con un batch più piccolo.
  • Se i risultati non corrispondono ancora alle aspettative, verificare il risultato nella sezione Sviluppo dell'elemento di lavoro e nell'elemento GitHub correlato.

Passo successivo