Azure Pipelines mit Slack

Azure DevOps Services

Wenn Sie Slack verwenden, können Sie die Azure Pipelines-App für Slack verwenden, um die Ereignisse für Ihre Pipelines einfach zu überwachen. Einrichten und Verwalten von Abonnements für Builds, Versionen, YAML-Pipelines, ausstehende Genehmigungen und mehr aus der App und abrufen Benachrichtigungen für diese Ereignisse in Ihren Slack-Kanälen.

Notifications image

Hinweis

Dieses Feature ist nur auf Azure DevOps Services verfügbar. Normalerweise werden neue Features zuerst im Clouddienst eingeführt und dann lokal in der nächsten Hauptversion oder aktualisierung von Azure DevOps Server verfügbar gemacht. Weitere Informationen finden Sie unter Azure DevOps Featurezeitachse.

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

Navigieren Sie zu Azure Pipelines Slack-App, um die Azure Pipelines App in Ihrem Slack-Arbeitsbereich zu installieren. Nachdem Sie hinzugefügt haben, wird eine Willkommensnachricht aus der App wie unten angezeigt. Verwenden Sie den Handle zum Starten der /azpipelines Interaktion mit der App.

Welcome message image

Verbinden der Azure Pipelines-App in Ihre Pipelines

Nachdem die App in Ihrem Slack-Arbeitsbereich installiert wurde, können Sie die App mit den Pipelines verbinden, die Sie überwachen möchten. Die App fordert Sie auf, Azure Pipelines zu authentifizieren, bevor Sie Befehle ausführen.

Sign in prompt image

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

/azpipelines subscribe [project url]

Die Projekt-URL kann eine beliebige Seite innerhalb Ihres Projekts sein (außer URLs zu Pipelines).

Beispiel:

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

Sie können auch eine bestimmte Pipeline mithilfe des folgenden Befehls überwachen:

/azpipelines subscribe [pipeline url]

Die Pipeline-URL kann eine beliebige Seite in Ihrer Pipeline sein, die über oder buildId/releaseId in der URL verfügtdefinitionId.

Zum Beispiel:

/azpipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123

oder:

/azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases

Der Abonnementbefehl ruft Sie mit einigen Abonnements standardmäßig auf. Für Buildpipelinen wird der Kanal für die Abgeschlossene Buildbenachrichtigung abonnieren. Für Release-Pipelines beginnt der Kanal mit dem Empfangen der Bereitstellung von Release,der Abgeschlossenen Version und der Genehmigung der Freigabebereitstellung ausstehende Benachrichtigungen. Für YAML-Pipelines werden Abonnements für den Status der Ausführungsphase geändert und die Ausführungsstufe auf Genehmigungsbenachrichtigungen warten .

Subscriptions added image

Verwalten von Abonnements

Um die Abonnements für einen Kanal zu verwalten, verwenden Sie den folgenden Befehl:

/azpipelines subscriptions

Dieser Befehl listet alle aktuellen Abonnements für den Kanal auf und ermöglicht Es Ihnen, neue Abonnements hinzuzufügen.

[! HINWEIS] Teamadministratoren können Abonnements, die von Project Administratoren erstellt wurden, nicht entfernen oder ändern.

Subscriptions list image

Effektive Verwendung von Filtern zum Anpassen von Abonnements

Wenn ein Benutzer eine Pipeline abonniert, werden standardmäßig einige Abonnements erstellt, ohne dass Filter angewendet werden. Häufig haben Benutzer die Notwendigkeit, diese Abonnements anzupassen. Benutzer möchten beispielsweise nur über fehlgeschlagene Builds hören oder nur benachrichtigt werden, wenn Bereitstellungen in die Produktion verschoben werden. Die Azure Pipelines-App unterstützt Filter, um die angezeigten Elemente in Ihrem Kanal anzupassen.

  1. Führen Sie den Befehl /azpipelines subscriptions aus.
  2. Wählen Sie in der Liste der Abonnements ein Abonnement aus, das unerwünschte Oder geändert werden muss (Beispiel: Erstellen von Rauschen 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 die erforderliche Pipeline und das gewünschte Ereignis aus.
  5. Wählen Sie die entsprechenden Filter aus, um Ihr Abonnement anzupassen

Beispiel: Abrufen von Benachrichtigungen nur für fehlgeschlagene Builds

Build Filters

Beispiel: Abrufen von Benachrichtigungen nur dann, wenn die Bereitstellungen an die Produktionsumgebung übertragen werden

Release Filters

Genehmigen von Bereitstellungen aus Ihrem Kanal

Sie können Bereitstellungen innerhalb Ihres Kanals genehmigen, ohne zum Azure Pipelines-Portal zu navigieren, indem Sie die Genehmigung für die Freigabegenehmigung für klassische Versionen oder die Ausführungsphase auf Genehmigungsbenachrichtigungen für YAML-Pipelines abonnieren. Beide Abonnements werden standardmäßig erstellt, wenn Sie die Pipeline abonnieren.

Ready for approval

Wenn die Ausführung einer Phase für die Genehmigung aussteht, wird eine Benachrichtigungskarte mit Optionen zum Genehmigen oder Ablehnen der Anforderung im Kanal veröffentlicht. Genehmigende können die Details der Anforderung in der Benachrichtigung überprüfen und entsprechende Maßnahmen ergreifen. Im folgenden Beispiel wurde die Bereitstellung genehmigt und der Genehmigungsstatus wird auf der Karte angezeigt.

Screenshot showing approved notification.

Die App unterstützt alle in Azure Pipelines Portal vorhandenen Prüf- und Genehmigungsszenarien, z. B. einzelne Genehmigende, mehrere Genehmigende (jeder Benutzer, jede Reihenfolge, in Sequenz) und Teams als Genehmigende. Sie können Anforderungen als Einzelne oder im Auftrag eines Teams genehmigen.

Vorschauen von Pipeline-URLs

Wenn ein Benutzer eine Pipeline-URL einfüge, wird eine Vorschau ähnlich wie in der folgenden Abbildung angezeigt. Dies hilft dabei, relevante und genaue Pipelineunterhaltungen zu behalten.

Build URL unfurling.

Release URL unfurling.

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

Entfernen von Abonnements und Pipelines aus einem Kanal

Wenn Sie Ihren Kanal bereinigen möchten, verwenden Sie die folgenden Befehle, um alle Pipelines innerhalb eines Projekts abzumelden.

/azpipelines unsubscribe all [project url]

Beispiel:

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

Dieser Befehl löscht alle Abonnements im Zusammenhang mit einer Pipeline im Projekt und entfernt die Pipelines aus dem Kanal.

Wichtig

Nur Projektadministratoren können diesen Befehl ausführen.

Befehlsverweis

Hier sind alle Befehle, die von der Azure Pipelines-App unterstützt werden:

Befehl "Schrägstrich" Funktionalität
/azpipelines abonnieren [pipeline url/project url] Abonnieren einer Pipeline oder aller Pipelines in einem Projekt zum Empfangen von Benachrichtigungen
/azpipelines-Abonnements Hinzufügen oder Entfernen von Abonnements für diesen Kanal
/azpipelines Feedback Melden eines Problems oder Vorschlag eines Features
/azpipelines hilfe Hilfe zu den Schrägstrichbefehlen abrufen
/azpipelines signin Melden Sie sich bei Ihrem Azure Pipelines Konto an
/azpipelines signout Abmelden von Ihrem Azure Pipelines Konto
/azpipelines kündigen alle [Project url] Entfernen aller Pipelines (zu einem Projekt gehören) und deren zugeordneten Abonnements aus einem Kanal

Benachrichtigungen in privaten Kanälen

Die Azure Pipelines-App kann Ihnen auch helfen, die Pipelineaktivitäten in Ihren privaten Kanälen zu überwachen. Sie müssen den Bot mithilfe /invite @azpipelinesihres privaten Kanals einladen. Darüber hinaus können Sie Ihre Benachrichtigungen so einrichten und verwalten, wie Sie es für einen öffentlichen Kanal wünschen.

Hinweis

  • Sie können die Azure Pipelines-App für Slack nur mit einem Projekt verwenden, das zu diesem Zeitpunkt auf Azure DevOps Services gehostet wird.
  • Der Benutzer muss ein Administrator des Projekts sein, das die Pipeline enthält, um die Abonnements einzurichten.
  • Benachrichtigungen werden derzeit nicht in direkten Nachrichten unterstützt.
  • Bereitstellungsgenehmigungen, die "Revalidate-Identität des Genehmigenden vor Abschluss der Genehmigungsrichtlinie" aufweisen, werden nicht unterstützt.
  • "Zugriff auf Drittanbieteranwendungen über OAuth" muss aktiviert sein, um Benachrichtigungen für die Organisation in Azure DevOps zu empfangen (Organisation Einstellungen -> Sicherheit -> Richtlinien)

Problembehandlung

Wenn beim Verwenden der Azure Pipelines App für Slack folgende Fehler auftreten, befolgen Sie die Verfahren in diesem Abschnitt.

Das hat leider nicht geklappt. Wiederholen Sie den Vorgang.

Die Azure Pipelines-App verwendet das OAuth-Authentifizierungsprotokoll und erfordert den Zugriff von Drittanbietern über OAuth für die Organisation, die aktiviert werden soll. Um diese Einstellung zu aktivieren, navigieren Sie zu Organisation Einstellungen>SecurityPolicies>, und legen Sie den Zugriff auf die Drittanbieteranwendung über OAuth für die Organisationseinstellung auf"Ein" fest.

Enable the Third-party application access via OAuth for the organization setting

Fehler bei der Konfiguration. Stellen Sie sicher, dass die Organisation "{organisationsname}" vorhanden ist und über ausreichende Berechtigungen verfügt.

Melden Sie sich von Azure DevOps ab, indem Sie zu https://aka.ms/VsSignout Ihrem Browser navigieren.

Öffnen Sie ein In privates oder inkognito-Browserfenster , und navigieren Sie zu https://aex.dev.azure.com/me und melden Sie sich an. Wählen Sie im Dropdownfeld unter dem Profilsymbol links das Verzeichnis aus, das die Organisation enthält, die die Pipeline enthält, für die Sie abonnieren möchten.

Select the directory that contains the organization that contains the pipeline

Starten Sie im selben Browser eine neue Registerkarte, navigieren Sie zu https://slack.com, und melden Sie sich bei Ihrem Arbeitsbereich an (Verwenden des Webclients). Führen Sie den /azpipelines signout Befehl gefolgt vom /azpipelines signin Befehl aus.

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

Consent to the requested app permissions

Wenn diese Schritte Ihr Authentifizierungsproblem nicht beheben, wenden Sie sich bei Entwicklercommunity an uns.