Aktivieren von Ereignisbenachrichtigungen für Projekte

Als Projektadministrator möchten Sie möglicherweise Benachrichtigungen über Ereignisse in Projekten an andere Benutzer oder menschliche Ziele senden, indem Sie E-Mails, SMS oder andere unterstützte Übermittlungskanäle verwenden. Möglicherweise möchten Sie diese Ereignisbenachrichtigungen an andere Anwendungen senden, um eine Logik zu erstellen, indem Sie z. B. die ereignisgesteuerte Programmierung mit Webhooks nutzen. Ermöglicht wird dies durch die Integration zwischen Projekten und IBM Cloud® Event Notifications.

Um Informationen an Event Notifications zu senden, müssen Sie Ihre Projektinstanz mit Event Notifications verbinden. Weitere Informationen zum Arbeiten mit Event Notifications finden Sie unter Erste Schritte mit Event Notifications.

Wie Ereignisse von Projekten gesammelt und gesendet werden

Wenn in Ihrer Projektinstanz ein interessantes Ereignis eintritt, kommunizieren die Projekte mit einer angeschlossenen Event Notifications-Instanz, um eine Benachrichtigung an ein unterstütztes Ziel weiterzuleiten. Ereignisse werden basierend auf Aktionen generiert, die Benutzer innerhalb des Projekts ausführen. Wenn die Validierung einer Konfiguration beispielsweise erfolgreich ist, wird ein Ereignis generiert, um Benutzer über diese Aktion zu benachrichtigen.

Veranstaltungen für Projekte

In der folgenden Tabelle sind die Ereignisse der Projekte aufgeführt.

Aktionen, die Ereignisbenachrichtigungen in Projekten erzeugen
Ereignistyp Beschreibung
check.pipeline.failed Die Überprüfung der Änderungen ist fehlgeschlagen. Ein Ereignis wird generiert, wenn eine Validierung fehlschlägt.
config.install-job.failed Änderungen konnten nicht implementiert werden. Ein Ereignis wird generiert, wenn eine Architekturbereitstellung fehlschlägt.
config.uninstall-job.failed Löschen von Ressourcen fehlgeschlagen. Ein Ereignis wird generiert, wenn die Aktion zum Löschen von Konfigurationsressourcen fehlschlägt.
check.pipeline.ready Änderungen müssen genehmigt werden. Ein Ereignis wird generiert, wenn die letzten Änderungen genehmigt werden müssen.
config.version.available Ein Versions-Update ist verfügbar. Ein Ereignis wird generiert, wenn eine neue Version einer implementierbaren Architektur verfügbar ist.
config.defn.updated Die Änderungen sind einsatzbereit. Ein Ereignis wird generiert, wenn eine Konfiguration im Projekt aktualisiert wird.
config.install-job.succeeded Implementierung abgeschlossen. Ein Ereignis wird generiert, wenn eine Konfiguration erfolgreich implementiert wurde.
config.uninstall-job.succeeded Löschen von Ressourcen abgeschlossen. Ein Ereignis wird generiert, wenn implementierte Ressourcen erfolgreich gelöscht werden.

Benachrichtigungen aktivieren

Ereignisse, die von einer Instanz des Dienstes IBM Cloud Projects erzeugt werden, können an eine Instanz des Dienstes Event Notifications weitergeleitet werden, die im selben Konto verfügbar ist.

Verbinden mit Event Notifications in der Konsole

Bevor Sie Benachrichtigungen für Projekte aktivieren können, müssen Sie sicherstellen, dass Sie eine Event Notifications Service-Instanz haben, die sich im selben Konto wie Ihre Projekt-Instanz befindet. Dann können Sie sich mit dem Event Notifications unter Verwalten > Integrationen in Ihrem Projekt verbinden.

  1. Klicken Sie in der Konsole auf das Symbol Navigationsmenü Navigationsmenüsymbol > Projekte.

  2. Wählen Sie das Projekt aus, zu dem Sie eine Verbindung herstellen möchten Event Notifications.

  3. Klicken Sie auf Verwalten > Integrationen.

  4. Klicken Sie im Abschnitt "Verbundene Instanz" auf Verbinden.

  5. Fügen Sie einen Namen zur Verbindung hinzu und geben Sie optional eine Beschreibung an.

  6. Wählen Sie die Ressourcengruppe und die Event Notifications-Serviceinstanz aus, die Sie verbinden wollen.

    Wenn eine IAM-Berechtigung zwischen Projekten und Event Notifications in Ihrem Konto nicht existiert, wird ein Dialog angezeigt. Befolgen Sie die Eingabeaufforderungen, um den Zugriff zwischen den Services zu erteilen.

    1. Um den Zugriff zwischen Projekten und Event Notifications zu gewähren, klicken Sie auf Autorisieren.
    2. Wählen Sie Event Notifications als Zieldienst.
    3. Wählen Sie in der Liste der Instanzen die Event Notifications-Serviceinstanz aus, die Sie berechtigen möchten.
    4. Wählen Sie die Rolle Ereignisquellenmanager aus.
    5. Klicken Sie auf Überprüfung.
    6. Klicken Sie auf Zuweisen.
  7. Klicken Sie auf Speichern.

Verbindung zu Event Notifications über die API herstellen

Bevor Sie Benachrichtigungen für Projekte aktivieren können, müssen Sie sicherstellen, dass Sie eine Event Notifications Service-Instanz haben, die sich im selben Konto wie Ihre Projekt-Instanz befindet. Dann können Sie eine programmatische Verbindung zu Event Notifications herstellen, indem Sie die Projekt-API aufrufen.

Das folgende Beispiel zeigt eine Abfrage, die Sie verwenden können, um Ihre Projektquelldaten bei Event Notifications zu registrieren. Wenn Sie die API aufrufen, ersetzen Sie die ID-Variablen und das IAM-Token durch die Werte, die für Ihre Projektinstanz spezifisch sind.

Sie können den Wert event_notifications_instance_crn in der Konsole finden, indem Sie die Seite Ressourcenliste aufrufen und auf die Zeile Event Notifications instance klicken.

[API-Beispiel hier eingeben]

Eine erfolgreiche Antwort gibt den CRN-Wert Ihrer verbundenen Event Notifications Service-Instanz zurück. Weitere Informationen zu den erforderlichen und optionalen Anforderungsparametern finden Sie in den API-Dokumenten.

Benachrichtigungen an ausgewählte Ziele zustellen

Nachdem Sie Benachrichtigungen für Projekte aktiviert haben, erstellen Sie Themen und Abonnements in Event Notifications, damit die Benachrichtigungen an die von Ihnen ausgewählten Ziele weitergeleitet und zugestellt werden können.

Eine vollständige Liste der unterstützten Ziele finden Sie in der Event Notifications-Dokumentation.

E-Mail-Benachrichtigungen

Sie können den E-Mail-Dienst IBM Cloud als Kanal für die Zustellung von Ereignisbenachrichtigungen für Projekte verwenden. Erstellen sie eine Event Notifications-Subskription zwischen einem vorhandenen Thema und dem IBM Cloud-E-Mail-Service, um Ihre Alerts per E-Mail an verschiedene Empfänger weiterzuleiten.

Eine E-Mail von IBM Cloud, die Informationen über ein Projektereignis enthält, sieht wie das folgende Beispiel aus:

Subject: Validation successful for terrafrom-1234567890-a12a triggered by IBMid-12345ABCD1
Body: Validation is complete. Review and approve the validation results to deploy the changes.
    Project Service event details:
    Type: check.pipeline.succeeded
    Target: Config terrafrom-1234567890-a12a for Project example-email-notification-project
    Source: pipelinerun-123ab1ab-1a1a-1a11-1a12-ac1a1a12a12a
    Triggered by: IBMid-12345ABCD1
    Action URL: https://cloud.ibm.com/devops/pipelines/example
    Date: Fri April 10 2023 09:15:08 GMT-0500 (Eastern Standard Time)

Um detaillierte Informationen zu einer Ereignisbenachrichtigung in Ihrer E-Mail zu erhalten, wählen Sie die Option Benachrichtigungsnutzdaten hinzufügen aus, wenn Sie eine Event Notifications -Subskription erstellen. Ihre E-Mail zeigt die Details der Benachrichtigungsnutzdaten an, die dem Ereignis zugeordnet sind.

Webhooks

Sie können ein Webhook-Ziel konfigurieren, sodass eine eingehende Benachrichtigung programmgesteuert von einer App oder einem Service verarbeitet werden kann. Weitere Informationen zum Einrichten von Webhooks finden Sie in der Event Notifications-Dokumentation.

Details der Benachrichtigungsnutzdaten

Erfolgreiche Ereignisse, die von Projekten erzeugt werden, enthalten verschiedene Felder, die Ihnen helfen, die Quelle und die Details eines Ereignisses zu identifizieren.

Ereignisbenachrichtigungen von Projekten enthalten nur Metadateneigenschaften, wie Namen oder Bezeichner von Ressourcen. Sensible Daten wie API-Schlüssel oder Kennwörter werden nicht in generierte Ereignisse eingeschlossen.

Die Eigenschaften, die an Event Notifications gesendet werden, hängen vom Ereignistyp ab. Wenn beispielsweise ein Ereignis check.pipeline.succeeded auftritt, sendet Projekte Benachrichtigungsnutzdaten an Event Notifications, die dem folgenden Beispiel ähneln.

{
      "_id": "a7110265-88e5-4fda-8686-ae4d5bb3f86a",
      "event": "check.pipeline.succeeded",
      "target": "639d4201-8cf9-4e29-b076-5129b6a3f839:1:true",
      "source": "d1542c4b-533c-4276-9272-00ce5134a7a3",
      "triggered_by": "IBMid-test-notification",
      "action_url": "https://cloud.ibm.com/schematics/workspaces/us-south.workspace.projects-service.e7de98e8/jobs?region=us",
      "severity": "INFO",
      "timestamp": "2023-04-10T16:00:43.195Z"
}

Weitere Informationen zu Ereignisbenachrichtigungseigenschaften finden Sie in der folgenden Tabelle.

Eigenschaften in einer Ereignisbenachrichtigungs-Nutzlast
Eigenschaft Beschreibung
event_sub_type Der Subtyp, der dem Ereignistyp entspricht, der eine Benachrichtigung ausgelöst hat.
event_type Der Ereignistyp, der eine Benachrichtigung ausgelöst hat.
source_instance_api_url Der dedizierte Endpunkt URL, der Ihrer IBM Cloud Projects Service-Instanz zugewiesen ist.
source_instance_crn Der Cloud Resource Name (CRN), der Ihre IBM Cloud Projects Service-Instanz eindeutig identifiziert.
source_instance_dashboard_url Die URL zu Ihrem IBM Cloud Projects Service Dashboard in der Konsole.
source_service Der Anzeigename des Service, der die Ereignisbenachrichtigung gesendet hat.