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:
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 |
---|
|
Per elencare le integrazioni configurate per il progetto:
code language-bash |
---|
|
Risposta di esempio:
code language-none |
---|
|
Per aggiungere un'integrazione utilizzandoCloud Console:
-
In Impostazioni progetto, fare clic su Integrations.
-
Fare clic su un tipo di integrazione o su Add integration.
-
Segui i passaggi di selezione e configurazione del tipo di integrazione.
-
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 integrazionewebhook
.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
environment.access.add
environment.access.remove
environment.activate
environment.backup
environment.branch
environment.deactivate
environment.delete
environment.initialize
master
del progetto inizializzato con un primo commitenvironment.merge
environment.push
environment.restore
environment.route.create
environment.route.delete
environment.route.update
environment.subscription.update
master
è stato ridimensionato perché la sottoscrizione è stata modificata, ma non sono presenti modifiche al contenutoenvironment.synchronize
environment.update.http_access
environment.update.restrict_robots
environment.update.smtp
environment.variable.create
environment.variable.delete
environment.variable.update
project.domain.create
project.domain.delete
project.domain.update