Verknüpfen von GitHub Commits, Pull Requests, Branches und Issues mit Arbeitsaufgaben in Azure Boards

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

In diesem Artikel erfahren Sie, wie Sie Arbeitsaufgaben mit GitHub Commits, Pullanforderungen, Verzweigungen und Builds verknüpfen, nachdem Sie Ihr Azure Boards Projekt mit einem GitHub Repository verbunden haben. Verwenden Sie für Commits und Branches die Syntax #mention, verwenden Sie !-Erwähnungen, um in Diskussionen zu Arbeitselementen auf GitHub Pull Requests zu verweisen, oder fügen Sie direkt aus dem Azure-Boards-Arbeitselement einen Link zu einem GitHub-Commit, Pull Request oder Branch hinzu.

Note

GitHub Integrationsunterstützung:

  • Azure DevOps Services: Integriert in GitHub.com- und GitHub Enterprise Server-Repositorys über die Azure Boards-App für GitHub.
  • Azure DevOps Server 2020 und höher: Unterstützt nur die Integration in GitHub Enterprise Server-Repositorys.
  • Andere Git-Repositorys: Die Integration wird nicht unterstützt.

Prerequisites

Category Requirements
Erlaubnisse Sie haben sowohl für das Azure Boards-Projekt als auch für das GitHub-Repository Mitwirkender-Zugriff.
Projektverbindung Verbinden Sie Ihr Azure Boards Projekt mit dem GitHub Repository, das die Commits, Pullanforderungen und Verzweigungen enthält, die Sie verknüpfen möchten. Weitere Informationen finden Sie unter Azure Boards-GitHub Integration.

Note

Wenn Ihr Projekt das Gehostete XML-Prozessmodell verwendet, aktualisieren Sie die Arbeitsaufgabentypen, um den Abschnitt "Entwicklung" und GitHub Verknüpfungstypen anzuzeigen. Weitere Informationen finden Sie unter Aktualisieren von XML-Definitionen für die Auswahl von Arbeitsaufgabentypen.

Verwenden Sie AB#-Erwähnungen in GitHub-Texten, um auf Arbeitselemente in Azure Boards zu verweisen.

So erstellen Sie einen Link:

  1. Fügen Sie AB#{ID} zu einer Commit-Nachricht, einer Pull-Request-Beschreibung oder einer Issue-Beschreibung hinzu.
  2. Pushen Sie den Commit, oder speichern Sie die Pullanforderung oder das Problem.
  3. Öffnen Sie die Arbeitsaufgabe, um zu bestätigen, dass der Link im Abschnitt "Entwicklung" angezeigt wird.

Die Verwendung AB#ID in einem Kommentar oder in einem Titel einer Pullanforderung erstellt keinen Link zu der Arbeitsaufgabe.

AB#{ID}

AB#125 verknüpft beispielsweise zu Arbeitselement-ID 125.

Sie können den Übergang von Arbeitselementen auch über Commit- oder Pull-Request-Text auslösen. Azure Boards erkennt {state} oder {state category} sowie Schlüsselwörter wie fix, fixes und fixed und wendet diesen Übergang dann auf den darauf folgenden Verweis AB# an.

Wenn eine Beschreibung der Pullanforderung beispielsweise einen gültigen Statusnamen enthält, Closed AB#1234aktualisiert das System die Referenzarbeitsaufgabe in diesen spezifischen Zustand. Wenn der Statusname nicht direkt erkannt wird, versucht Azure Boards, ihn einer Workflowkategorie wie Resolved oder Completed zuzuordnen. Wenn eine Übereinstimmung gefunden wird, wechselt die Arbeitsaufgabe in den ersten verfügbaren Zustand, der unter dieser Kategorie definiert ist.

Standardmäßig wechseln Arbeitsaufgaben, die mit fix, fixes, oder fixed referenziert werden, in den ersten Zustand, der mit der Kategorie "Aufgelöst" verknüpft ist. Wenn im aktuellen Prozess kein solcher Zustand vorhanden ist, übergibt das System stattdessen die Arbeitsaufgabe in den ersten Zustand in der Kategorie "Abgeschlossen ".

Important

Sie können weiterhin Arbeitselemente verknüpfen und andere Branches anvisieren, aber Statusübergangsregeln gelten nicht, es sei denn, der Pull-Request wird in den Standard-Branch gemerged.

Weitere Informationen finden Sie unter Verwendung von Workflowkategoriestatus in Backlogs und Boards von Azure Boards.

Verwenden Sie die folgenden Beispiele, die nur aus einem Link bestehen:

Commit- oder Pull Request-Nachricht Action
AB#123 Verknüpft Azure Boards-Arbeitselement 123. Es tritt kein Zustandsübergang auf.
Adds a new feature, AB#123. Verknüpft Azure Boards-Arbeitselement 123. Es tritt kein Zustandsübergang auf.
AB#123, AB#124, and AB#126 Verknüpft Azure Boards-Arbeitselemente 123, 124 und 126. Es tritt kein Zustandsübergang auf.
Fixing multiple bugs: issue #123 and user story AB#234 Links zu GitHub Problem 123 und Azure Boards Arbeitsaufgabe 234. Es werden keine Übergänge durchgeführt.

Verwenden Sie die folgenden Link- und Übergangsbeispiele:

Commit- oder Pull Request-Nachricht Action
Fixed AB#123 Verknüpft und übergibt die Arbeitsaufgabe zur Kategorie "Aufgelöster Workflowstatus" oder, wenn keine definiert ist, die Kategorie " Abgeschlossener Workflowstatus".
Closed AB#123 Verknüpft und übergibt die Arbeitsaufgabe in den Zustand "Geschlossener Workflow". Wenn keine definiert ist, werden keine Übergänge vorgenommen.
Adds a new feature, fixes AB#123. Verknüpft und übergibt die Arbeitsaufgabe zur Kategorie "Aufgelöster Workflowstatus" oder, wenn keine definiert ist, die Kategorie " Abgeschlossener Workflowstatus".
Fixes AB#123, AB#124, and AB#126 Links zu Azure Boards Arbeitsaufgaben 123, 124 und 126. Übergibt nur das erste Element, 123, zur Kategorie "Aufgelöster Workflowstatus" oder , wenn keine definiert ist, die Kategorie " Abgeschlossener Workflowstatus".
Fixes AB#123, Fixes AB#124, Fixes AB#125 Links zu Azure Boards Arbeitsaufgaben 123, 124 und 125. Übergibt alle Elemente in die Kategorie "Aufgelöster Workflowstatus" oder , wenn keine definiert ist, die Kategorie " Abgeschlossener Workflowstatus".

Note

Wenn Sie dasselbe GitHub-Repository mit Projekten verbunden haben, die in zwei oder mehr Azure DevOps-Organisationen definiert sind, kann es bei Verknüpfungen per AB#-Erwähnung zu einem unerwarteten Verhalten kommen. Weitere Informationen finden Sie unter Beheben von Verbindungsproblemen. Aus diesem Grund wird empfohlen, nur ein GitHub Repository mit Projekten zu verbinden, die in einer einzigen Azure DevOps Organisation definiert sind.

Wenn Sie einen Link zu einer Arbeitsaufgabe mithilfe von AB# in einer Beschreibung der Pullanforderung hinzufügen, werden diese Links im Abschnitt Development der GitHub Pullanforderung angezeigt. Diese Links sind nur verfügbar, wenn Sie in der Beschreibung der Pull-Anforderung verwenden AB# . Sie werden nicht angezeigt, wenn Sie direkt aus dem Arbeitselement einen Link zum Pull Request herstellen. Wenn Sie den AB# Verweis aus der Beschreibung entfernen, wird er auch aus dem Abschnitt "Entwicklung" entfernt.

Screenshot von AB#-Links im Entwicklungsabschnitt von GitHub Pull Request.

Erstellen eines GitHub Branch aus einem Arbeitselement

Führen Sie die folgenden Schritte aus, um eine GitHub Verzweigung direkt aus einer Arbeitsaufgabe zu erstellen:

  1. Suchen Sie in Ihrem Board das Arbeitselement, mit dem Sie einen GitHub Branch erstellen möchten.

  2. Wählen Sie Work item actions>New GitHub branch aus.

    Screenshot der Arbeitsaufgabe „Weitere Aktionen auswählen“ und der hervorgehobenen Option „Neue GitHub-Verzweigung“.

  3. Geben Sie im Dialogfeld Ein GitHub Verzweigung erstellen den Verzweigungsnamen ein. Wählen Sie das GitHub-Repository und die Basis-Verzweigung aus.

  4. Wählen Sie "Erstellen" aus.

    Screenshot des Dialogfelds

    Azure Boards erstellt den Branch im angegebenen GitHub-Repository und verknüpft ihn mit dem Work Item. Weitere Informationen finden Sie unter Azure Boards-GitHub Integration.

  1. Öffnen Sie Ihre Arbeitsaufgabe, und wechseln Sie zum Bereich "Entwicklung ".

  2. Wählen Sie Verbindung hinzufügen aus. Wählen Sie in jedem Dropdownmenü ihren linktyp, GitHub Repository und GitHub Pullanforderung aus. Sie können innerhalb des Repositorys suchen und einen Drilldown ausführen, um eine bestimmte Pullanforderung oder einen Commit auszuwählen, ohne eine URL kopieren und einfügen zu müssen.

  3. Wählen Sie Verbindung hinzufügen aus.

    Screenshot der fünfstufigen Sequenz zum Hinzufügen eines Pullanforderungslinks zur Arbeitsaufgabe.

    Azure Boards überprüft, ob Sie einen gültigen Link eingegeben haben. Das mit GitHub Repository verknüpfte must mit dem Azure Boards Projekt verbunden werden oder die Überprüfung schlägt fehl.

Note

Wenn Sie Azure DevOps Server und GitHub Enterprise Server verwenden, ist beim Abschließen der AB#-Links eine Verzögerung vorhanden. Der Prozess verwendet ein "Push-and-Pull"-Design, um die inkrementellen Änderungen bei Commit, PR und Issue jede Stunde aus den GitHub-Ereignissen abzurufen.

Mehrere Ereignisse aktualisieren die Verknüpfungen im Arbeitsaufgabenformular automatisch, sodass Sie sie nicht manuell erstellen müssen. Zu diesen Ereignissen gehören:

GitHub-Ereignis Action
Verknüpfung zur Verzweigung Wenn eine Pullanforderung aus einer Verzweigung erstellt wird, wird sie automatisch mit der Arbeitsaufgabe verknüpft.
Zusammenführen des Commits Nachdem die Pullanforderung zusammengeführt wurde, wird der resultierende Zusammenführungsvorgang automatisch mit der Arbeitsaufgabe verknüpft.
Verzweigung löschen Wenn eine Verzweigung gelöscht wird (typischerweise nach dem Zusammenführen), wird der Link automatisch aus dem Arbeitsobjekt entfernt.

Im Abschnitt "Entwicklung" im Arbeitsaufgabenformular werden die Verknüpfungen aufgelistet, die zu GitHub-Commits und Pullanforderungen mithilfe des GitHub-Symbols erstellt wurden.

Screenshot des Arbeitsaufgabenformulars, der Entwicklungsabschnitt zeigt GitHub-Links.

Wählen Sie den Link aus, um die Commit- oder Pullanforderung in GitHub zu öffnen.

GitHub Pull-Request-Einblicke

Verknüpfte GitHub Pullanforderungen im Abschnitt "Entwicklung" zeigen zusätzliche Statusdetails an. Sie können den Fortschritt bewerten, ohne die Pullanforderung in GitHub zu öffnen.

Voraussetzungen für Einblicke in Pull-Anfragen

Um Einblicke in Pull-Anforderungen anzuzeigen, wechseln Sie zur App Azure Boards in GitHub und akzeptieren Sie die aktualisierten Berechtigungen für Lese- und Schreibzugriff auf Checks.

Screenshot des Dialogfelds der Azure Boards GitHub-App-Berechtigungen, das die aktualisierten Prüfberechtigungen anzeigt.

Anzeigen der Statusdetails der Pullanforderung

  1. Öffnen Sie eine Arbeitsaufgabe, die über eine verknüpfte GitHub Pullanforderung verfügt.

  2. Suchen Sie im Abschnitt "Entwicklung " die verknüpfte Pullanforderung. Die folgenden Statusdetails werden neben dem Pullanforderungslink angezeigt:

    • Entwurfsstatus: Zeigt an, ob die Pullanforderung noch ein Entwurf ist.
    • Prüfstatus: Zeigt an, ob der Pull Request überprüft werden muss, genehmigt wurde oder Änderungen angefordert wurden.
    • Status der Überprüfungen: Zeigt an, ob CI-Prüfungen bestanden, nicht bestanden oder in Bearbeitung sind.

    Ein Screenshot aus dem Bereich Entwicklung zeigt eine verlinkte GitHub Pull-Request mit den Detailanzeigen Closed, Review und Checks Status.

  3. Zeigen Sie auf einen Statusindikator, um weitere Details anzuzeigen, oder wählen Sie den Pullanforderungslink aus, um ihn direkt in GitHub zu öffnen.

Erwähnen GitHub Pullanforderungen mithilfe von !

Verwenden Sie ! Erwähnungen, um GitHub Pull-Requests direkt aus einem beliebigen Rich-Text-Feld des Arbeitselements oder einem Diskussionskommentar zu referenzieren und zu diskutieren. Wenn Sie ! in ein Textfeld eingeben, wird ein Auswahlfeld angezeigt, mit dem Sie einen GitHub Pull-Request aus einem verbundenen Repository suchen und auswählen können. Die ausgewählte Pullanforderung wird als klickbarer Link eingefügt.

Dieses Feature erleichtert das Verweisen auf verwandte Pullanforderungen in Arbeitsaufgabenbeschreibungen, Akzeptanzkriterien oder Diskussionsthreads ohne manuelles Kopieren von URLs.

Gif, das zeigt, wie man die !-Erwähnung verwendet, um auf einen GitHub-Pull-Request aus einer Arbeitsaufgabendiskussion zu verweisen.

Anzeigen des Buildstatus für YAML-Pipelines (integriert in Build)

Wenn Sie Azure Pipelines YAML zum Erstellen von Code verwenden, der in einem GitHub Repository gehostet wird, können Sie automatisch Integrated in BuildLinks zu zugehörigen Arbeitsaufgaben erstellen. Dieses Feature bietet Build-Rückverfolgbarkeit für GitHub Repos, wodurch die Parität mit der für Azure Repos verfügbaren Oberfläche erreicht wird.

Sie können dieses Feature wie folgt aktivieren:

  1. Öffnen Sie Ihre YAML-Pipeline, wählen Sie "Weitere Aktionen" und dann " Einstellungen" aus.

  2. Aktivieren Sie im Dialogfeld "Pipelineeinstellungen " die Option "Neue Arbeitsaufgaben automatisch verknüpfen" in diesem Build.

    Screenshot des Dialogfelds „YAML-Pipelineeinstellungen“, das die Option „Neue Arbeitsaufgaben in diesem Build automatisch verknüpfen“ zeigt.

Wenn der Build abgeschlossen ist, erscheint automatisch ein Integriert in Build Link im Abschnitt Entwicklung jedes zugehörigen Arbeitselements, so dass Ihr Team eine vollständige Rückverfolgbarkeit vom Arbeitselement zum Build erhält.

Screenshot der Arbeitsaufgabe mit dem Link

Weitere Informationen zum Konfigurieren dieser Einstellung finden Sie unter Konfigurieren von Pipelines zur Unterstützung der Arbeitsnachverfolgung.

GitHub-Objekte auf einem Board anzeigen

Wenn Sie GitHub Anmerkungen auf der Tafel aktivieren, können Sie verknüpfte GitHub Commits, Pullanforderungen oder Probleme schnell öffnen, um weitere Details zu erhalten. Weitere Informationen finden Sie unter Anpassen von Karten.

Screenshot des Boards mit den GitHub-Links auf Arbeitsaufgabenkarten.

Wenn Sie den Azure DevOps MCP-Server konfigurieren, können Sie GitHub-zu-Arbeitsaufgabenverknüpfungsaufgaben in natürlicher Sprache beschreiben, anstatt manuell im Arbeitsaufgabenformular zu navigieren.

Verwenden Sie diese Eingabeaufforderungen als Szenariobeispiele. Unterstützte Vorgänge variieren je nach konfigurierten Toolsets, Erweiterungsversion und Ihren Berechtigungen.

Einige Eingabeaufforderungen geben möglicherweise Anleitungen zurück, anstatt eine Schreibaktion auszuführen, oder sie erfordern je nach aktivierten MCP-Tools mehrere Eingabeaufforderungen.

Bevor Sie einen Prompt ausführen, ersetzen Sie Platzhalter wie <Contoso>, <owner/repo> und <sha> durch Ihre tatsächlichen Werte.

Verwenden Sie diesen Ablauf zum schnellen Ausführen und Überprüfen:

  1. Führen Sie einen Prompt aus der Tabelle aus.
  2. Überprüfen Sie die Antwort zur durchgeführten Aktion.
  3. Öffnen Sie die Arbeitsaufgabe, und bestätigen Sie das Ergebnis im Abschnitt "Entwicklung ".
  4. Öffnen Sie das zugehörige GitHub Artefakt, und bestätigen Sie die erwartete Verknüpfung oder Aktualisierung.

Probieren Sie zuerst die folgenden Eingabeaufforderungen aus:

  • 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>
Aufgabe Beispielaufforderung
Verknüpfen einer Arbeitsaufgabe mit einer Pullanforderung Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42
Verknüpfen einer Arbeitsaufgabe mit einem Commit Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha>
Verknüpfen einer Arbeitsaufgabe mit einem Problem Link work item AB#500 in project <Contoso> to GitHub issue <owner/repo>#10
Erstellen eines GitHub-Branchs aus einem Arbeitselement Create a GitHub branch named feature/checkout for work item 500 in project <Contoso> from repo <owner/repo> base branch main
Aktualisieren des Status der verknüpften Arbeitsaufgabe nach dem Zusammenführen von PR After PR <owner/repo>#42 merges, update linked work item AB#125 to Resolved
Verwandte Arbeitselemente gesammelt verknüpfen Link all active user stories in area path <Contoso\\Web> to GitHub PR <owner/repo>#42
Suchen nicht verknüpfter Arbeitsaufgaben List all closed work items in project <Contoso> from the last 30 days that have no linked GitHub pull request
GitHub-Aktivitäten für ein Arbeitselement zusammenfassen Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso>
AB#-Verweis zu einer PR hinzufügen Suggest an AB# reference line to add to PR <owner/repo>#42 description that links to work items 125 and 126
Status verknüpfter PRs prüfen Show the review and check status of all GitHub pull requests linked to active user stories in project <Contoso>

Note

Wenn Sie Visual Studio Code verwenden, verwenden Sie den Agentmodus. Azure DevOps MCP-Servervorgänge erfordern den Agentmodus, um auf Azure DevOps Daten zuzugreifen und Vorgänge auszuführen.

Probleme beim KI-gestützten Verknüpfen beheben

  • Wenn eine Eingabeaufforderung nicht ausgeführt wird, vergewissern Sie sich, dass der Agentmodus in Ihrem KI-Client aktiviert ist.
  • Wenn eine Aufforderung mit Zugriffsfehlern fehlschlägt, stellen Sie sicher, dass Ihr Konto Zugriff auf das Azure DevOps Projekt und GitHub Repository hat.
  • Wenn keine Verknüpfungen erstellt werden, ersetzen Sie alle Platzhalter (z. B. <Contoso>, <owner/repo>, <sha>) durch tatsächliche Werte und führen Sie den Prompt erneut aus.
  • Wenn eine Massenaufforderung fehlschlägt, versuchen Sie es zuerst mit einer einzelnen Arbeitsaufgabe, und wiederholen Sie den Vorgang mit einem kleineren Batch.
  • Wenn die Ergebnisse weiterhin nicht den Erwartungen entsprechen, überprüfen Sie das Ergebnis im Abschnitt "Arbeitsaufgabenentwicklung" und im zugehörigen GitHub Artefakt.

Nächster Schritt