Tutorial: Configurar una regla de Eventos de CloudWatch para recibir notificaciones por correo electrónico sobre los cambios de estado de las canalizaciones - AWS CodePipeline

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Configurar una regla de Eventos de CloudWatch para recibir notificaciones por correo electrónico sobre los cambios de estado de las canalizaciones

Después de configurar una canalización en AWS CodePipeline, puede configurar una regla de Eventos de CloudWatch para enviar notificaciones cuando se produzcan cambios en el estado de ejecución de las canalizaciones, o en las etapas o acciones de estas. Para obtener más información sobre cómo utilizar Eventos de CloudWatch para configurar las notificaciones de los cambios de estado de las canalizaciones, consulte Supervisión de CodePipeline eventos.

En este tutorial, va a configurar una notificación para enviar un correo electrónico cuando el estado de una canalización cambie a FAILED. Este tutorial utiliza un método transformador de entrada para crear la regla de Eventos de CloudWatch. Transforma los detalles del esquema del mensaje para entregarlo en un formato legible.

nota

A medida que cree los recursos para este tutorial, como la notificación de Amazon SNS y la regla de Eventos de CloudWatch, asegúrese de que los recursos se crean en la misma región de AWS que su canalización.

Paso 1: Configurar una notificación de correo electrónico mediante Amazon SNS

Amazon SNS coordina el uso de temas para entregar mensajes a clientes o puntos de conexión de suscripción. Utilice Amazon SNS para crear un tema de notificación y, a continuación, suscríbase al tema con su dirección de correo electrónico. El tema de Amazon SNS se añadirá como destino a su regla de Eventos de CloudWatch. Para obtener más información, consulte la Guía para desarrolladores de Amazon Simple Notification Service.

Cree o identifique un tema en Amazon SNS. CodePipeline utilizará Eventos de CloudWatch para enviar notificaciones sobre este tema a través de Amazon SNS. Para crear un tema:

  1. Abra la consola de Amazon SNS en https://console.aws.amazon.com/sns.

  2. Elija Crear tema.

  3. En el cuadro de diálogo Create new topic (Crear un nuevo tema), en Topic name (Nombre del tema), escriba un nombre para el tema (por ejemplo, PipelineNotificationTopic).

    
            Cree el tema de notificación mediante Amazon SNS;.
  4. Elija Crear tema.

    Para obtener más información, consulte Crear un tema en la Guía para desarrolladores de Amazon SNS.

Suscriba a uno o varios destinatarios al tema para que reciban notificaciones por correo electrónico. Para suscribir a un destinatario a un tema:

  1. En la consola de Amazon SNS, en la lista Temas, seleccione la casilla situada junto al tema nuevo. Elija Acciones, Suscribirse a tema.

  2. En el cuadro de diálogo Create subscription, compruebe que aparece un ARN en Topic ARN.

  3. En Protocol (Protocolo), elija Email (Correo electrónico).

  4. En Endpoint, escriba la dirección de correo electrónico completa del destinatario.

  5. Elija Create subscription (Crear suscripción).

  6. Amazon SNS envía un correo electrónico de confirmación de suscripción al destinatario. Para recibir notificaciones por correo electrónico, el destinatario debe utilizar el enlace Confirm subscription de este correo electrónico. Cuando el destinatario hace clic en el enlace, si se ha suscrito correctamente, Amazon SNS muestra un mensaje de confirmación en el navegador web.

    Para obtener más información, consulte Suscribirse a un tema en la Guía del desarrollador de Amazon SNS.

Paso 2: Crear una regla y agregar el tema de SNS como destino

Crear una regla de Eventos de CloudWatch para CodePipeline como fuente de evento

  1. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. En el panel de navegación, elija Events (Eventos).

  3. Elija Crear regla. En Event source (Origen de eventos), elija AWS CodePipeline. Como Event Type, elija Pipeline Execution State Change.

  4. Seleccione Specific state(s) (Estado[s] específico[s]) y, a continuación, elija FAILED.

  5. Elija Edit para abrir el editor de JSON para el panel Event Pattern Preview. Añada el parámetro pipeline con el nombre de la canalización, tal y como se muestra en el siguiente ejemplo para una canalización denominada “myPipeline”.

    Puede copiar el patrón de eventos aquí y pegarlo en la consola:

    { "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Pipeline Execution State Change" ], "detail": { "state": [ "FAILED" ], "pipeline": [ "myPipeline" ] } }
  6. En Targets, seleccione Add target.

  7. En la lista de destinos, elija SNS topic. En Topic, introduzca el tema que ha creado.

  8. Expanda Configure input, a continuación, elija Input Transformer.

  9. En el cuadro Input Path, escriba los siguientes pares clave-valor.

    { "pipeline" : "$.detail.pipeline" }

    En el cuadro Input Template, escriba lo siguiente:

    "The Pipeline <pipeline> has failed."
  10. Seleccione Configure details.

  11. En la página Configure rule details, escriba un nombre y una descripción opcional. Para State, deje seleccionado el cuadro Enabled.

  12. Elija Crear regla.

  13. Confirme que CodePipeline está enviando notificaciones de compilación. Por ejemplo, compruebe si hay correos electrónicos de notificación de compilación en su bandeja de entrada.

  14. Para cambiar el comportamiento de una regla, elija la regla en la consola de CloudWatch y, a continuación, elija Acciones, Editar. Edite la regla, elija Configurar detalles y, a continuación, elija Actualizar regla.

    Para dejar de utilizar una regla para enviar notificaciones de compilación, en la consola de CloudWatch , elija la regla y, a continuación, elija Acciones, Deshabilitar.

    Para eliminar una regla, elija la regla en la consola de CloudWatch y, a continuación, elija Acciones, Eliminar.

Paso 3: Limpiar recursos

Una vez completado este tutorial, debe eliminar la canalización y los recursos que utiliza para que no se le cobre por el uso continuado de esos recursos.

Para obtener información sobre cómo eliminar la notificación de SNS y la regla de Eventos de Amazon CloudWatch, consulte Eliminación (cancelar la suscripción a un tema de Amazon SNS) y la referencia DeleteRule en la Amazon CloudWatch Events API Reference.