Erstellen eines Service Hooks für Azure DevOps mit Slack

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

Senden Von Nachrichten an Slack als Reaktion auf Ereignisse in Ihrer Azure DevOps Organisation, z. B. abgeschlossene Builds, Codeänderungen, Pull Requests, Releases, Änderungen an Arbeitselementen usw.

Hinweis

Für Azure DevOps Services und Azure DevOps 2020 und höher empfehlen wir Ihnen, die folgende Suite von Apps zu verwenden, die umfassende Features für die Integration in Slack bieten.

Azure Boards-App für Slack

Azure Boards-App für Slack hilft Ihnen dabei, Arbeitselemente auf einfache Weise über Ihre Slack-Kanäle zu erstellen und zu überwachen. Benutzer können Arbeitselemente mithilfe eines Schrägstrichbefehls erstellen oder Nachrichtenaktionen verwenden, um Konversationen im Kanal in Arbeitselemente zu konvertieren. Benutzer können abonnements auch einrichten und verwalten, um Benachrichtigungen in ihrem Kanal zu erhalten, wenn Arbeitselemente erstellt oder aktualisiert werden.

Azure Pipelines-App für Slack

Azure Pipelines App für Slack hilft ihnen dabei, die Ereignisse in Ihren Pipelines einfach zu überwachen. Benutzer können Abonnements für abgeschlossene Builds, Releases, ausstehende Genehmigungen und vieles mehr über die App einrichten und verwalten und Benachrichtigungen für diese Ereignisse in ihren Kanälen erhalten. Benutzer können Releasebereitstellungen auch über ihre Kanäle genehmigen.

Azure Repos-App für Slack

Azure Repos-App für Slack hilft ihnen dabei, die Ereignisse in Ihren Repositorys einfach zu überwachen. Benutzer können Abonnements für Codecommits, PR-Erstellung und PR-Updates und vieles mehr über die App einrichten und verwalten und Benachrichtigungen für diese Ereignisse in ihren Kanälen erhalten.

Erstellen einer benutzerdefinierten App in Slack

  1. Informationen zum Verwenden von Webhooks zum Übertragen von Informationen an einen Slack-Kanal finden Sie in der Slack-Dokumentation Senden von Nachrichten mit eingehenden Webhooks.

  2. Erstellen einer neuen Slack-AppErstellen einer Slack-App

  3. Aktivieren des eingehenden Webhooks und Hinzufügen eines neuen Webhooks zum gewünschten eingehenden Webhook des Arbeitsbereichs

    Webhook umschalten

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

    create-Web Hook

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

    Kopieren des Webhooks

Erstellen eines Service Hook-Abonnements in Ihrer Organisation

  1. Wechseln Sie zur Service Hooks-Seite Ihres Projekts:

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

    Project-Verwaltungsseite

    Klicken Sie auf Abonnement erstellen.

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

    Sie können die einzelnen Trigger auf bestimmte Weise filtern. Beispielsweise kann der pull request created-Trigger nach dem Repository gefiltert werden, in dem der Pull Request auftritt, dem Zielzweig, für den er gilt, und den Teammitgliedern, die zur Überprüfung der Anforderung erforderlich oder eingeladen sind.

  3. Fügen Sie die Webhook-URL aus der erstellten Slack-Integration ein, und wählen Sie Fertig stellenaus.

    Aktionsdialogfeld mit der Webhook-URL.

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

    Screenshot: Benachrichtigung in einem Slack-Kanal

  1. Wechseln Sie zur Service Hooks-Seite Ihres Projekts:

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

    Project-Verwaltungsseite

    Klicken Sie auf Abonnement erstellen.

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

    Sie können die einzelnen Trigger auf bestimmte Weise filtern. Beispielsweise kann der pull request created-Trigger nach dem Repository gefiltert werden, in dem der Pull Request auftritt, dem Zielzweig, für den er gilt, und den Teammitgliedern, die zur Überprüfung der Anforderung erforderlich oder eingeladen sind.

  3. Fügen Sie die Webhook-URL aus der erstellten Slack-Integration ein, und wählen Sie Fertig stellenaus.

    ! [Aktionsdialogfeld mit der Webhook-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: Benachrichtigung in einem Slack-Kanal

Q & A

F: Warum habe ich die Pull Request-Ereignisse nicht als Option, wenn ich meinen Trigger konfiguriere?

A: Pull Requests sind nur für Projekte verfügbar, die Git verwenden. Wenn Ihr Projekt TFVC verwendet, sind keine Pullereignistrigger verfügbar, und Ihr Codeereignis heißt "Code eingecheckt" anstelle von "Code gepusht".

F: Wie kann ich mehrere Ereignisse in meinem Slack-Kanal anzeigen lassen?

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