Panoramica sulle integrazioni

Le integrazioni sono utili per utilizzare servizi esterni, come l’hosting Git o i bot di Slack, e per mantenere i processi di sviluppo correnti, come l’utilizzo della funzione di richiesta pull di revisione del codice in GitHub. Puoi aggiungere le seguenti integrazioni al progetto di infrastruttura cloud di Adobe Commerce:

Integrazioni

CLI

Per aggiungere un'integrazione utilizzando Cloud CLI:

Il comando seguente avvia i prompt interattivi per selezionare il tipo e le opzioni per la nuova integrazione.

code language-bash
magento-cloud integration:add

Per elencare le integrazioni configurate per il progetto:

code language-bash
magento-cloud integration:list

Risposta di esempio:

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                                                      |
+----------+--------------+---------------------------------------------------------------------------+
Console

Per aggiungere un'integrazione utilizzandoCloud Console:

  1. In Impostazioni progetto, fare clic su Integrations.

  2. Fare clic su un tipo di integrazione o su Add integration.

  3. Segui i passaggi di selezione e configurazione del tipo di integrazione.

  4. Dopo l’aggiunta dell’integrazione, questa viene visualizzata nell’elenco nella vista Integrazioni.

webhook Commerce

Puoi configurare i webhook di Commerce nel progetto Cloud con la variabile globale ENABLE_WEBHOOKS. I webhook Commerce inviano richieste a un server esterno in risposta a eventi generati da Commerce. La Guida ai webhook descrive questa funzionalità in dettaglio.

Webhook generici

È possibile acquisire e segnalare eventi dell'infrastruttura e dell'archivio cloud utilizzando un'integrazione del webhook personalizzato per POST messaggi JSON in un URL webhook.

Per aggiungere un URL del webhook, utilizzare la sintassi seguente:

magento-cloud integration:add --type=webhook --url=https://hook-url.example.com
  • type - Specificare il tipo di integrazione webhook.
  • url - Specificare l'URL del webhook che può ricevere messaggi JSON.

La risposta di esempio mostra una serie di prompt che offrono l’opportunità di personalizzare l’integrazione. L’utilizzo della risposta predefinita (vuota) invia messaggi su tutti gli eventi in tutti gli ambienti di un progetto.

È possibile personalizzare l'integrazione per segnalare eventi specifici, ad esempio il push del codice in un ramo. Ad esempio, è possibile specificare l'evento environment.push per inviare un messaggio quando un utente invia il codice a un ramo:

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

È possibile scegliere di segnalare gli eventi con stato pending, in_progress o complete:

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

E puoi includere o escludere messaggi per ambienti specifici:

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

Al termine dell’integrazione, riceverai un riepilogo dei valori:

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

Aggiorna integrazione esistente

Puoi aggiornare un’integrazione esistente. Ad esempio, modificare gli stati da complete a pending utilizzando quanto segue:

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

Risposta di esempio:

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

Eventi da segnalare

Evento
Descrizione
environment.access.add
A un utente è stato concesso l’accesso all’ambiente
environment.access.remove
Un utente è stato rimosso dall’ambiente
environment.activate
Un ramo è stato "attivato" con un ambiente
environment.backup
Un utente ha attivato un’istantanea
environment.branch
Un ramo è stato creato utilizzando la console di gestione
environment.deactivate
Ramo "disattivato". Il codice è ancora presente ma l'ambiente è stato distrutto
environment.delete
Un ramo è stato eliminato
environment.initialize
Il ramo master del progetto inizializzato con un primo commit
environment.merge
Un ramo attivo è stato unito utilizzando la console di gestione o l’API
environment.push
Un utente ha inviato il codice a un ramo
environment.restore
Un utente ha ripristinato uno snapshot
environment.route.create
È stata creata una route tramite la console di gestione
environment.route.delete
Una route è stata eliminata utilizzando la console di gestione
environment.route.update
Una route è stata modificata utilizzando la console di gestione
environment.subscription.update
L'ambiente master è stato ridimensionato perché la sottoscrizione è stata modificata, ma non sono presenti modifiche al contenuto
environment.synchronize
Nell’ambiente padre sono stati copiati dati o codice
environment.update.http_access
Le regole di accesso HTTP per un ambiente sono state modificate
environment.update.restrict_robots
La funzione block-all-robots è stata abilitata o disabilitata
environment.update.smtp
L’invio di e-mail è stato abilitato o disabilitato per un ambiente
environment.variable.create
È stata creata una variabile
environment.variable.delete
Una variabile è stata eliminata
environment.variable.update
Una variabile è stata modificata
project.domain.create
Un dominio è stato creato e aggiunto al progetto
project.domain.delete
Un dominio associato al progetto è stato rimosso
project.domain.update
Un dominio associato al progetto è stato aggiornato
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26