Integrationen - Übersicht

Integrationen sind nützlich für die Verwendung externer Dienste wie Git-Hosting oder Slack-Bots und die Wartung Ihrer aktuellen Entwicklungsprozesse, z. B. die Verwendung der Pull-Anforderungsfunktion für die Codeüberprüfung in GitHub. Sie können die folgenden Integrationen zu Ihrem Adobe Commerce-Projekt in der Cloud-Infrastruktur hinzufügen:

Integrationen

CLI

Hinzufügen einer Integration mithilfe der Cloud CLI:

Der folgende Befehl startet interaktive Aufforderungen zur Auswahl des Typs und der Optionen für die neue Integration.

code language-bash
magento-cloud integration:add

Auflisten der für Ihr Projekt konfigurierten Integrationen:

code language-bash
magento-cloud integration:list

Beispielantwort:

code language-terminal
+----------+--------------+---------------------------------------------------------------------------+
| ID       | Type         | Summary                                                                   |
+----------+--------------+---------------------------------------------------------------------------+
| <int-id> | bitbucket    | Repository: user/magento-int                                              |
|          |              | Hook URL:                                                                 |
|          |              | https://magento-url.cloud/api/projects/projectID/integrations/int-ID/hook |
| <int-id> | health.email | From: you@example.com                                                     |
|          |              | To: them@example.com                                                      |
+----------+--------------+---------------------------------------------------------------------------+
Konsole

So fügen Sie eine Integration mithilfe derCloud Console:

  1. In Projekteinstellungen klicken Integrations.

  2. Klicken Sie auf einen Integrationstyp oder klicken Sie auf Add integration.

  3. Führen Sie die Schritte zur Auswahl und Konfiguration des Integrationstyps durch.

  4. Nach dem Hinzufügen der Integration wird sie in der Liste in der Ansicht "Integrationen"angezeigt.

Commerce-Webhooks

Sie können Commerce-Webhooks in Ihrem Cloud-Projekt mit der Globale Variable "ENABLE_WEBHOOKS". Commerce-Webhooks senden Anfragen an einen externen Server als Reaktion auf Commerce-generierte Ereignisse. Die Webhooks-Anleitung beschreibt diese Funktion detailliert.

Allgemeine Webhooks

Sie können Cloud-Infrastruktur- und Repository-Ereignisse mithilfe einer benutzerdefinierten Webhook-Integration in erfassen und in Berichte aufnehmen. POST JSON-Meldungen an eine Webhook URL.

Verwenden Sie zum Hinzufügen einer Webhook-URL die folgende Syntax:

magento-cloud integration:add --type=webhook --url=https://hook-url.example.com
  • type—Geben Sie die webhook Integrationstyp.
  • url—Geben Sie die Webhook-URL an, die JSON-Nachrichten empfangen kann.

Die Beispielantwort zeigt eine Reihe von Aufforderungen, die eine Möglichkeit bieten, die Integration anzupassen. Bei Verwendung der standardmäßigen (leeren) Antwort werden Meldungen zu allen Ereignissen in allen Umgebungen eines Projekts gesendet.

Sie können die Integration so anpassen, dass Berichte für spezifische events, z. B. das Pushen von Code in einen Zweig. Sie können beispielsweise die environment.push -Ereignis, um eine Nachricht zu senden, wenn ein Benutzer Code an eine Verzweigung sendet:

Events to report (--events)
A list of events to report, e.g. environment.push
Default: *
Enter comma-separated values (or leave this blank)
>

Sie können Ereignisse in einem pending, in_progressoder complete state:

States to report (--states)
A list of states to report, e.g. pending, in_progress, complete
Default: complete
Enter comma-separated values (or leave this blank)
>

Und Sie können include oder exclude Nachrichten für bestimmte Umgebungen:

Included environments (--environments)
The environment IDs to include
Default: *
Enter comma-separated values (or leave this blank)
>

Excluded environments (--excluded-environments)
The environment IDs to exclude
Enter comma-separated values (or leave this blank)
>

Nach Abschluss der Integration erhalten Sie eine Zusammenfassung der Werte:

Created integration integration-ID (type: webhook)
+-----------------------+------------------------------+
| Property              | Value                        |
+-----------------------+------------------------------+
| id                    | integration-ID               |
| type                  | webhook                      |
| events                | - '*'                        |
| environments          | - '*'                        |
| excluded_environments | {  }                         |
| states                | - complete                   |
| url                   | https://hook-url.example.com |
+-----------------------+------------------------------+

Vorhandene Integration aktualisieren

Sie können eine vorhandene Integration aktualisieren. Ändern Sie beispielsweise die Status von complete nach pending Verwenden Sie Folgendes:

magento-cloud integration:update --states=pending <int-id>

Beispielantwort:

Integration integration-ID (webhook) updated
+-----------------------+------------------------------+
| Property              | Value                        |
+-----------------------+------------------------------+
| id                    | integration-ID               |
| type                  | webhook                      |
| events                | - '*'                        |
| environments          | - '*'                        |
| excluded_environments | {  }                         |
| states                | - pending                    |
| url                   | https://hook-url.example.com |
+-----------------------+------------------------------+

Zu meldende Ereignisse

Ereignis
Beschreibung
environment.access.add
Benutzern wurde Zugriff auf die Umgebung gewährt
environment.access.remove
Ein Benutzer wurde aus der Umgebung entfernt
environment.activate
Eine Verzweigung wurde mit einer Umgebung "aktiviert"
environment.backup
Ein Benutzer hat einen Schnappschuss ausgelöst
environment.branch
Eine Verzweigung wurde mithilfe der Verwaltungskonsole erstellt
environment.deactivate
Eine Verzweigung wurde "deaktiviert". Der Code ist noch vorhanden, aber die Umgebung wurde zerstört
environment.delete
Eine Verzweigung wurde gelöscht
environment.initialize
Die master Zweig des mit einem ersten Commit initialisierten Projekts
environment.merge
Eine aktive Verzweigung wurde mithilfe der Verwaltungskonsole oder API zusammengeführt.
environment.push
Ein Benutzer hat Code an eine Verzweigung gesendet
environment.restore
Ein Benutzer hat eine Momentaufnahme wiederhergestellt
environment.route.create
Eine Route wurde mithilfe der Verwaltungskonsole erstellt
environment.route.delete
Eine Route wurde mithilfe der Verwaltungskonsole gelöscht
environment.route.update
Eine Route wurde mithilfe der Verwaltungskonsole geändert
environment.subscription.update
Die master Die Größe der Umgebung wurde geändert, da sich das Abonnement geändert hat, jedoch keine Inhaltsänderungen vorgenommen wurden.
environment.synchronize
In einer Umgebung wurden Daten oder Code aus der übergeordneten Umgebung erneut kopiert
environment.update.http_access
HTTP-Zugriffsregeln für eine Umgebung wurden geändert
environment.update.restrict_robots
Die Funktion "Alle Roboter blockieren"wurde aktiviert oder deaktiviert
environment.update.smtp
Der Versand von E-Mails wurde für eine Umgebung aktiviert oder deaktiviert.
environment.variable.create
Eine Variable wurde erstellt
environment.variable.delete
Eine Variable wurde gelöscht
environment.variable.update
Eine Variable wurde geändert
project.domain.create
Eine Domäne wurde erstellt und zum Projekt hinzugefügt
project.domain.delete
Eine dem Projekt zugeordnete Domäne wurde entfernt
project.domain.update
Eine dem Projekt zugeordnete Domäne wurde aktualisiert.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26