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

So listen Sie die für Ihr Projekt konfigurierten Integrationen auf:

code language-bash
magento-cloud integration:list

Beispielantwort:

code language-none
+----------+--------------+---------------------------------------------------------------------------+
| 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

Hinzufügen einer Integration mithilfe desCloud Console:

  1. Klicken Sie in Projekteinstellungen auf Integrations.

  2. Klicken Sie auf einen Integrationstyp oder 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 globalen Variable ENABLE_WEBHOOKS konfigurieren. Commerce-Webhooks senden Anfragen als Reaktion auf von Commerce generierte Ereignisse an einen externen Server. Im Webhooks-Handbuch wird diese Funktion ausführlich beschrieben.

Allgemeine Webhooks

Sie können Cloud-Infrastruktur- und Repository-Ereignisse mithilfe einer benutzerdefinierten Webhook-Integration in POST JSON-Nachrichten mit einer webhook -URL erfassen und in Berichte aufnehmen.

Verwenden Sie die folgende Syntax, um eine Webhook-URL hinzuzufügen:

magento-cloud integration:add --type=webhook --url=https://hook-url.example.com
  • type - Geben Sie den Integrationstyp webhook an.
  • 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 bestimmte Ereignisse gemeldet werden, z. B. das Pushen von Code in eine Verzweigung. Sie können beispielsweise das environment.push -Ereignis angeben, 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 Status pending, in_progress oder complete melden:

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)
>

Außerdem können Sie __ - oder __ -Meldungen für bestimmte Umgebungen ausschließen:

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 in pending, indem Sie Folgendes verwenden:

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-Verzweigung des Projekts, das mit einem ersten Commit initialisiert wurde
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 Größe der Umgebung "master" wurde geändert, da sich das Abonnement geändert hat, es jedoch keine Inhaltsänderungen gibt.
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