Azure Repos mit Slack

Azure DevOps Services

Wenn Sie Slack verwenden, können Sie die Azure Repos-App für Slack verwenden, um Ihre Azure Repos-Repositorys problemlos zu überwachen. Sie können Abonnements einrichten und verwalten, um Benachrichtigungen in Ihrem Kanal zu empfangen, wenn Code per Push übertragen/eingecheckt wird und wenn ein Pull Request (PR) erstellt, aktualisiert oder eine Zusammenführung versucht wird. Diese App unterstützt sowohl Git- als auch Team Foundation-Versionskontrolle-Ereignisse (TFVC).

Abbildung: Benachrichtigungen

Lesen Sie diesen Artikel, um Folgendes zu erfahren:

  • Hinzufügen der Azure Repos-App zu Ihrem Slack-Arbeitsbereich
  • Verbinden der Azure Repos-App mit Ihren Repositorys
  • Verwalten von Abonnements für repositorybezogene Ereignisse in Ihrem Slack-Kanal
  • Effektives Verwenden von Filtern zum Anpassen von Abonnements
  • Abrufen von Benachrichtigungen in privaten Slack-Kanälen

Voraussetzungen

Hinweis

  • Benachrichtigungen werden derzeit nicht in Direktnachrichten unterstützt.
  • Sie können die Azure Repos-App für Slack nur mit einem Projekt verknüpfen, das derzeit in Azure DevOps Services gehostet wird.

Hinzufügen der Azure Repos-App zu Ihrem Slack-Arbeitsbereich

  1. Navigieren Sie zur Azure Repos Slack-App, um die Azure Repos-App in Ihrem Slack-Arbeitsbereich zu installieren.

  2. Nach dem Hinzufügen erhalten Sie eine Begrüßungsnachricht von der App, wie in der folgenden Abbildung dargestellt.

    Begrüßungsnachricht

  3. Verwenden Sie den /azrepos-Slack-Handle, um mit der App zu interagieren. Eine vollständige Liste der Befehle finden Sie im Abschnitt Befehlsreferenz in diesem Artikel.

Verbinden der Azure Repos-App mit Ihren Repositorys

  1. Nachdem die App in Ihrem Slack-Arbeitsbereich installiert wurde, stellen Sie mithilfe des /azrepos signin-Befehls eine Verbindung mit Azure Repos her und authentifizieren sie sich.

    Abbildung: Anmeldeaufforderung

  2. Um die Überwachung aller Git Repositorys in einem Projekt zu starten, verwenden Sie den folgenden Schrägstrichbefehl in einem Kanal:

    /azrepos subscribe [project url]
    

    Die Projekt-URL kann zu einer beliebigen Seite innerhalb Ihres Projekts führen (außer URLs zu Repositorys).

    Beispiel:

    /azrepos subscribe https://dev.azure.com/myorg/myproject/
    

    Sie können auch ein bestimmtes Repository überwachen, indem Sie den folgenden Befehl verwenden:

    /azrepos subscribe [repository url]
    

    Die Repository-URL kann zu einer beliebigen Seite innerhalb Ihres Repositorys führen, die den Namen Ihres Repositorys enthält.

    Verwenden Sie z. B. für Git-Repositorys Folgendes:

    /azrepos subscribe https://dev.azure.com/myorg/myproject/_git/myrepository
    

    Für TFVC-Repositorys verwenden Sie Folgendes:

    /azrepos subscribe https://dev.azure.com/myorg/myproject/_versionControl
    

    Hinweis

    Sie können nur öffentliche Repositorys abonnieren.

  3. Mit dem subscribe-Befehl können Sie mit einem Standardabonnement beginnen. Für Git-Repositorys wird der Kanal für das Ereignis Pull Request erstellt abonniert (mit Zielbranch = Master). Für TFVC-Repositorys wird der Kanal für das Ereignis Code eingecheckt abonniert.

    Nachricht zur Erstellung von Standardabonnements

Verwalten von Abonnements

Um Abonnements für einen Kanal anzuzeigen, hinzuzufügen und zu entfernen, verwenden Sie den subscriptions-Befehl:

/azrepos subscriptions    

Dieser Befehl listet alle aktuellen Abonnements für den Kanal auf und ermöglicht es Ihnen, neue Abonnements hinzuzufügen oder bestehende zu entfernen. Beim Hinzufügen von Abonnements können Sie die Benachrichtigungen, die Sie erhalten, mithilfe verschiedener Filter anpassen, wie im folgenden Abschnitt beschrieben.

[HINWEIS] Teamadministratoren können keine von Projektadministratoren erstellten Abonnements entfernen oder ändern.

Anzeigen von Abonnements

Effektives Verwenden von Filtern zum Anpassen von Abonnements

Wenn sich ein Benutzer mithilfe des /azrepos subscribe-Befehls bei einem Repository anmeldet, wird ein Standardabonnement erstellt. Häufig müssen Benutzer diese Abonnements anpassen. Benutzer möchten z. B. nur benachrichtigt werden, wenn PRs einen bestimmten Reviewer aufweisen.

Die folgenden Schritte zeigen Ihnen, wie Sie Abonnements anpassen können.

  1. Führen Sie den Befehl /azrepos subscriptions aus.
  2. Wenn es in der Liste der Abonnements ein Abonnement gibt, das unerwünscht ist oder geändert werden muss (z. B. das Erstellen von Stördaten im Kanal), wählen Sie die Schaltfläche Entfernen aus.
  3. Wählen Sie die Schaltfläche Abonnement hinzufügen aus.
  4. Wählen Sie das erforderliche Repository und das gewünschte Ereignis aus.
  5. Wählen Sie die entsprechenden Filter aus, um Ihr Abonnement anzupassen.

Beispiel: Nur Benachrichtigungen erhalten, wenn sich mein Team in der Reviewerliste für einen PR befindet.

Reviewer hat mein Team

Beispiel: Informieren Sie mich, wenn Mergeversuche aufgrund eines Richtlinienverstoßes fehlerhaft sind.

Nicht erfolgreicher Mergeversuch aufgrund eines Richtlinienverstoßes

Hinweis

  • Bei allen Filtern handelt es sich in der Regel um Dropdownlisten. Wenn die Dropdownliste jedoch mehr als 100 Elemente enthält, werden die Benutzer aufgefordert, die Werte manuell einzugeben.
  • Für das TFVC-Ereignis Code eingecheckt muss der Filter Unter Pfad das Format $/myproject/path aufweisen.

Vorschau von Pull Request-URLs

Wenn ein Benutzer eine PR-URL einfügt, wird eine Vorschau wie in der folgenden Abbildung angezeigt. Dies trägt dazu bei, dass PR-bezogene Konversationen kontextbezogen und präzise bleiben.

URL-Verbreitung

Damit dieses Feature funktioniert, müssen die Benutzer angemeldet sein. Sobald sie sich angemeldet haben, funktioniert dieses Feature für alle Kanäle in einem Arbeitsbereich.

Entfernen von Abonnements und Repositorys aus einem Kanal

  • Oftmals möchten Benutzer ihren Kanal bereinigen, indem sie Repositorys und Abonnements entfernen. Verwenden Sie den folgenden Befehl, um dasselbe zu erreichen.

      /azrepos unsubscribe all [project url]
    

    Beispiel:

      /azrepos unsubscribe all https://dev.azure.com/myorg/myproject
    

Mit diesem Befehl werden alle Abonnements gelöscht, die sich auf ein beliebiges Repository im Projekt beziehen, und die Repositorys werden aus dem Kanal entfernt. Nur Projektadministratoren können diesen Befehl ausführen.

Befehlsreferenz

In der folgenden Tabelle sind alle /azrepos commands aufgeführt, die Sie in Ihrem Slack-Kanal verwenden können.

Slash-Befehl Funktionalität
/azrepos subscribe [Repository-URL/Projekt-URL] Abonnieren Sie ein Repository oder alle Repositorys eines Projekts, um Benachrichtigungen zu erhalten.
/azrepos subscriptions Hinzufügen oder Entfernen von Abonnements für diesen Kanal
/azrepos signin Anmelden bei Ihrer Azure Repos-Organisation
/azrepos signout Abmelden von Ihrer Azure Repos-Organisation
/azrepos feedback Melden eines Problems oder Vorschlagen eines Features
/azrepos unsubscribe all [Projekt-URL] Entfernen aller Repositorys (die zu einem Projekt gehören) und der zugehörigen Abonnements aus einem Kanal

Benachrichtigungen in privaten Kanälen

Die Azure Repos-App kann Ihnen dabei helfen, die Repositoryereignisse auch in Ihren privaten Kanälen zu überwachen. Sie müssen den Bot mithilfe von /invite @azrepos in Ihren privaten Kanal einladen. Danach können Sie Ihre Benachrichtigungen auf die gleiche Weise einrichten und verwalten wie für einen öffentlichen Kanal.

Problembehandlung

Wenn bei Ihnen die folgenden Fehler auftreten, wenn Sie die Azure Repos-App für Slack verwenden, befolgen Sie die Verfahren in diesem Abschnitt.

Das hat leider nicht geklappt. Wiederholen Sie den Vorgang.

Die Azure Repos-App verwendet das OAuth-Authentifizierungsprotokoll und erfordert die Aktivierung von Zugriff auf Anwendungen von Drittanbietern über OAuth für die Organisation. Um diese Einstellung zu aktivieren, navigieren Sie zu Organisationseinstellungen>Sicherheit>Richtlinien, und legen Sie die Einstellung Zugriff auf Anwendungen von Drittanbietern über OAuth für die Organisation auf Ein fest.

Aktivieren der Einstellung „Zugriff auf Anwendungen von Drittanbietern über OAuth für die Organisation“

Die Konfiguration ist fehlgeschlagen. Vergewissern Sie sich, dass die Organisation „{organization name}“ existiert und dass Sie über ausreichende Berechtigungen verfügen.

Melden Sie sich von Azure DevOps ab, indem Sie mithilfe Ihres Browsers zu https://aka.ms/VsSignout navigieren.

Öffnen Sie ein Browserfenster vom Typ InPrivate oder Inkognito, und navigieren Sie zu https://aex.dev.azure.com/me, um sich anzumelden. Wählen Sie in der Dropdownliste unter dem Profilsymbol auf der linken Seite das Verzeichnis aus, das die Organisation enthält, in der sich das Repository befindet, das Sie abonnieren möchten.

Auswählen des Verzeichnisses, das die Organisation enthält, die wiederum das Projekt enthält

Starten Sie im gleichen Browser eine neue Registerkarte, navigieren Sie zu https://slack.com, und melden Sie sich an Ihrem Arbeitsplatz an (Webclient verwenden). Führen Sie den Befehl /azrepos signout gefolgt von dem Befehl /azrepos signin aus.

Wählen Sie die Sign in Schaltfläche aus, und Sie werden zu einer Einwilligungsseite wie im folgenden Beispiel weitergeleitet. Stellen Sie sicher, dass das neben der E-Mail angezeigte Verzeichnis mit dem Verzeichnis identisch ist, das Sie im vorherigen Schritt ausgewählt haben. Akzeptieren und den Anmeldevorgang abschließen.

Zustimmung zu den angeforderten App-Berechtigungen

Wenn ihr Authentifizierungsproblem mit diesen Schritten nicht behoben werden kann, wenden Sie sich unter Entwicklercommunity an uns.