Erstellen eines Dienst-Hooks für Azure DevOps mit Slack

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Posten Sie Nachrichten in Reaktion auf Ereignisse in Ihrer Azure DevOps Organisation, z. B. abgeschlossene Builds, Codeänderungen, Pullanforderungen, Versionen, Arbeitselementeänderungen und vieles mehr.

Hinweis

Für Azure DevOps Services empfehlen wir Ihnen, die folgende Suite von Apps zu verwenden, die umfangreiche Features bieten, um mit Slack zu integrieren.

Azure Boards App für Slack

Azure Boards App für Slack hilft, Arbeitselemente von Ihren Slack-Kanälen einfach zu erstellen und zu überwachen. Benutzer können Arbeitselemente mithilfe eines Schrägstrichbefehls erstellen oder Nachrichtenaktionen verwenden, um Unterhaltungen im Kanal in Arbeitselemente zu konvertieren. Benutzer können auch Abonnements einrichten und verwalten, um Benachrichtigungen in ihrem Kanal abzurufen, wenn Arbeitselemente erstellt oder aktualisiert werden.

Azure Pipelines App für Slack

Azure Pipelines App für Slack hilft, die Ereignisse in Ihren Pipelines einfach zu überwachen. Benutzer können Abonnements für abgeschlossene Builds, Versionen, ausstehende Genehmigungen und mehr aus der App einrichten und verwalten und Benachrichtigungen für diese Ereignisse in ihren Kanälen abrufen. Benutzer können auch Freigabebereitstellungen aus ihren Kanälen genehmigen.

Azure Repos App für Slack

Azure Repos App für Slack hilft, die Ereignisse in Ihren Repositorys einfach zu überwachen. Benutzer können Abonnements für Code-Commits, PR-Erstellungs- und PR-Updates und mehr aus der App einrichten und verwalten und Benachrichtigungen für diese Ereignisse in ihren Kanälen abrufen.

Erstellen einer benutzerdefinierten App in Slack

  1. Verweisen Sie auf die Slack-Dokumentation, das Senden von Nachrichten mithilfe von Eingehenden Webhooks , um den Prozess der Verwendung von Web-Hooks zu verstehen, um Informationen an einen Slack-Kanal zu übertragen.

  2. Erstellen einer neuen Slack-AppCreate slack app

  3. Aktivieren des eingehenden Web-Hooks und Hinzufügen eines neuen Web Hooks zum gewünschten Arbeitsbereich incoming Web Hook

    toggle Web Hook

  4. Wählen Sie den Kanal aus, für den Web Hook erstellt werden muss

    create-Web Hook

  5. Kopieren Sie die Web-Hook-URL, und wechseln Sie zu Azure DevOps

    copy Web Hook

Erstellen eines Dienst-Hook-Abonnements in Ihrer Organisation

  1. Wechseln Sie zur Seite " Service Hooks ":

    https://{orgName}/{project_name}/_settings/serviceHooks

    Project administration page

    Klicken Sie auf Abonnement erstellen.

  2. Wählen Sie die Typen von Ereignissen aus, die in Ihrem Slack-Kanal angezeigt werden sollen.

    Sie können jede der Trigger auf bestimmte Weise filtern. Beispielsweise kann der erstellte Pull-Anforderungsauslöser auf dem Repository gefiltert werden, in dem die Pullanforderung auftritt, der Zielzweig, auf den er angewendet wird, und die Teammitglieder, die erforderlich oder eingeladen sind, die Anforderung zu überprüfen.

  3. Fügen Sie die Web-Hook-URL aus der Slack-Integration ein, die Sie erstellt und ausgewählt haben.

    Action dialog box with the Web Hook URL.

  4. Wenn das von Ihnen konfigurierte Ereignis nun in Ihrem Projekt auftritt, wird eine Benachrichtigung im Slack-Kanal Ihres Teams angezeigt.

    Screenshot showing a notification in a Slack channel.

  1. Wechseln Sie zur Seite "Service Hooks":

    https://dev.azure.com/{orgName}/{project_name}/_apps/hub/ms.vss-servicehooks-web.manageServiceHooks-project

    Project administration page

    Klicken Sie auf Abonnement erstellen.

  2. Wählen Sie die Typen von Ereignissen aus, die in Ihrem Slack-Kanal angezeigt werden sollen.

    Sie können jede der Trigger auf bestimmte Weise filtern. Beispielsweise kann der erstellte Pull-Anforderungsauslöser auf dem Repository gefiltert werden, in dem die Pullanforderung auftritt, der Zielzweig, auf den er angewendet wird, und die Teammitglieder, die erforderlich oder eingeladen sind, die Anforderung zu überprüfen.

  3. Fügen Sie die Web-Hook-URL aus der Slack-Integration ein, die Sie erstellt und ausgewählt haben.

    ! [Aktionsdialogfeld mit der Web-Hook-URL]./media/slack/action.png)

  4. Wenn das von Ihnen konfigurierte Ereignis nun in Ihrem Projekt auftritt, wird eine Benachrichtigung im Slack-Kanal Ihres Teams angezeigt.

    Screenshot that shows a notification in a Slack channel.

Fragen und Antworten (Q & A)

F: Warum habe ich die Pull-Anforderungsereignisse nicht als Option, wenn ich meinen Trigger konfigurieren?

A: Pull-Anforderungen sind nur für Projekte verfügbar, die Git verwenden. Wenn Ihr Projekt TFVC verwendet, sind Pull-Ereignisauslöser nicht verfügbar, und Ihr Codeereignis wird als "Code aktiviert" anstelle von "Code pushed" bezeichnet.

F: Wie kann ich mehrere Ereignisse abrufen, die in meinem Slack-Kanal angezeigt werden?

A: Erstellen Sie ein neues Abonnement für jeden gewünschten Ereignistyp. Wenn Sie beispielsweise Buildfehler und neue Arbeitselemente im Slack-Kanal anzeigen möchten, erstellen Sie zwei zusätzliche Abonnements.