Visão geral das integrações
As integrações são úteis para usar serviços externos, como hospedagem do Git ou bots de Slack, e manter seus processos de desenvolvimento atuais, como usar a função de solicitação de pull de revisão de código no GitHub. Você pode adicionar as seguintes integrações ao seu projeto do Adobe Commerce na infraestrutura em nuvem:
Para adicionar uma integração usando a CLI da Nuvem:
O comando a seguir inicia prompts interativos para selecionar o tipo e as opções da nova integração.
code language-bash |
---|
|
Para listar as integrações configuradas para o seu projeto:
code language-bash |
---|
|
Exemplo de resposta:
code language-none |
---|
|
Para adicionar uma integração usando oCloud Console:
-
Em Configurações do projeto, clique em Integrations.
-
Clique em um tipo de integração ou clique em Add integration.
-
Percorra as etapas de seleção e configuração do tipo de integração.
-
Depois de adicionar a integração, ela aparece na lista da visualização de Integrações.
Webhooks do Commerce
Você pode configurar webhooks do Commerce no seu projeto na nuvem com a variável global ENABLE_WEBHOOKS. Os webhooks do Commerce enviam solicitações para um servidor externo em resposta a eventos gerados pelo Commerce. O Guia de Webhooks descreve esse recurso detalhadamente.
Webhooks genéricos
Você pode capturar e relatar eventos de repositório e infraestrutura da nuvem usando uma integração de webhook personalizada para POST
mensagens JSON para uma URL de webhook.
Para adicionar uma URL de webhook, use a seguinte sintaxe:
magento-cloud integration:add --type=webhook --url=https://hook-url.example.com
type
— Especifique o tipo de integraçãowebhook
.url
— Forneça o URL do webhook que pode receber mensagens JSON.
O exemplo de resposta mostra uma série de prompts que fornecem uma oportunidade de personalizar a integração. Usar a resposta padrão (em branco) envia mensagens sobre todos os eventos em todos os ambientes em um projeto.
Você pode personalizar a integração para relatar eventos específicos, como o envio de código para uma ramificação. Por exemplo, você pode especificar o evento environment.push
para enviar uma mensagem quando um usuário envia código para uma ramificação:
Events to report (--events)
A list of events to report, e.g. environment.push
Default: *
Enter comma-separated values (or leave this blank)
>
Você pode optar por relatar eventos em um estado pending
, in_progress
ou 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 você pode incluir ou excluir mensagens para ambientes específicos:
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)
>
Quando a integração for concluída, você receberá um resumo dos valores:
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 |
+-----------------------+------------------------------+
Atualizar integração existente
Você pode atualizar uma integração existente. Por exemplo, altere os estados de complete
para pending
usando o seguinte:
magento-cloud integration:update --states=pending <int-id>
Exemplo de resposta:
Integration integration-ID (webhook) updated
+-----------------------+------------------------------+
| Property | Value |
+-----------------------+------------------------------+
| id | integration-ID |
| type | webhook |
| events | - '*' |
| environments | - '*' |
| excluded_environments | { } |
| states | - pending |
| url | https://hook-url.example.com |
+-----------------------+------------------------------+
Eventos a relatar
environment.access.add
environment.access.remove
environment.activate
environment.backup
environment.branch
environment.deactivate
environment.delete
environment.initialize
master
do projeto foi inicializada com uma primeira confirmaçãoenvironment.merge
environment.push
environment.restore
environment.route.create
environment.route.delete
environment.route.update
environment.subscription.update
master
foi redimensionado porque a assinatura foi alterada, mas não há alterações de conteúdoenvironment.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