Resumen de integraciones

Las integraciones son útiles para utilizar servicios externos, como alojamiento de Git o bots de Slack, y para mantener los procesos de desarrollo actuales, como el uso de la función de solicitud de extracción de revisión de código en GitHub. Puede añadir las siguientes integraciones a su proyecto de infraestructura de Adobe Commerce en la nube:

Integraciones

CLI

Para agregar una integración utilizando la CLI de nube:

El siguiente comando inicia las indicaciones interactivas para seleccionar el tipo y las opciones de la nueva integración.

code language-bash
magento-cloud integration:add

Para enumerar las integraciones configuradas para el proyecto:

code language-bash
magento-cloud integration:list

Respuesta de ejemplo:

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

Para añadir una integración conCloud Console:

  1. Entrada Configuración de proyecto, haga clic en Integrations.

  2. Haga clic en un tipo de integración o en Add integration.

  3. Siga los pasos de configuración y selección del tipo de integración.

  4. Después de agregar la integración, esta aparece en la lista de la vista Integraciones.

Webhooks de Commerce

Puede configurar los webhooks de Commerce en su proyecto de Cloud con la variable Variable global ENABLE_WEBHOOKS. Los webhooks de Commerce envían solicitudes a un servidor externo en respuesta a los eventos generados por Commerce. El Guía de webhooks describe esta función en detalle.

Webhooks genéricos

Puede capturar y crear informes de los eventos de repositorio e infraestructura de Cloud mediante una integración de ganchos web personalizada para POST Mensajes JSON a webhook URL.

Para añadir una URL de gancho web, utilice la siguiente sintaxis:

magento-cloud integration:add --type=webhook --url=https://hook-url.example.com
  • type: permite especificar el webhook tipo de integración.
  • url: proporcione la URL del gancho web que puede recibir mensajes JSON.

La respuesta de ejemplo muestra una serie de mensajes que proporcionan una oportunidad para personalizar la integración. Si se utiliza la respuesta predeterminada (en blanco), se envían mensajes sobre todos los eventos de todos los entornos de un proyecto.

Puede personalizar la integración para crear informes específicos eventos, como insertar código en una rama. Por ejemplo, puede especificar la variable environment.push evento para enviar un mensaje cuando un usuario inserta código en una rama:

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

Puede elegir informar de eventos en una pending, in_progress, o complete estado:

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

Y tú puedes include o excluir mensajes para entornos 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)
>

Cuando se complete la integración, recibirá un resumen de los 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 |
+-----------------------+------------------------------+

Actualizar integración existente

Puede actualizar una integración existente. Por ejemplo, cambie los estados de complete hasta pending mediante lo siguiente:

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

Respuesta de ejemplo:

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 para informar

Evento
Descripción
environment.access.add
Se ha concedido acceso al entorno a un usuario
environment.access.remove
Se ha eliminado un usuario del entorno
environment.activate
Se ha "activado" una rama con un entorno
environment.backup
Un usuario ha activado una instantánea
environment.branch
Se ha creado una rama con la consola de administración
environment.deactivate
Se ha "desactivado" una rama. El código sigue ahí, pero el medio ambiente fue destruido
environment.delete
Se ha eliminado una rama
environment.initialize
El master rama del proyecto inicializada con una primera confirmación
environment.merge
Se ha fusionado una rama activa mediante la consola de administración o la API
environment.push
Un usuario insertó código en una rama
environment.restore
Un usuario restauró una instantánea
environment.route.create
Se ha creado una ruta mediante la consola de administración
environment.route.delete
Se ha eliminado una ruta mediante la consola de administración
environment.route.update
Se ha modificado una ruta mediante la consola de administración
environment.subscription.update
El master Se ha cambiado el tamaño del entorno porque la suscripción ha cambiado, pero no hay cambios en el contenido
environment.synchronize
Se han copiado datos o código de un entorno desde su entorno principal
environment.update.http_access
Se han modificado las reglas de acceso HTTP de un entorno
environment.update.restrict_robots
Se ha habilitado o deshabilitado la función de bloquear todos los robots
environment.update.smtp
Se ha habilitado o deshabilitado el envío de correos electrónicos para un entorno
environment.variable.create
Se ha creado una variable
environment.variable.delete
Se ha eliminado una variable
environment.variable.update
Se ha modificado una variable
project.domain.create
Se ha creado un dominio y se ha agregado al proyecto
project.domain.delete
Se ha eliminado un dominio asociado con el proyecto
project.domain.update
Se ha actualizado un dominio asociado al proyecto
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26