Tutorial: configurar uma regra de CloudWatch eventos para receber notificações por e-mail sobre mudanças no estado do pipeline - AWS CodePipeline

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tutorial: configurar uma regra de CloudWatch eventos para receber notificações por e-mail sobre mudanças no estado do pipeline

Depois de configurar um pipeline AWS CodePipeline, você pode configurar uma regra de CloudWatch eventos para enviar notificações sempre que houver alterações no estado de execução de seus pipelines ou nos estágios ou ações em seus pipelines. Para obter mais informações sobre o uso de CloudWatch Eventos para configurar notificações para mudanças no estado do pipeline, consulteMonitoramento de CodePipeline eventos.

Neste tutorial, você configura uma notificação para enviar um e-mail quando o estado de um pipeline muda para FAILED. Este tutorial usa um método de transformador de entrada ao criar a regra de CloudWatch Eventos. Ele transforma os detalhes de esquema da mensagem para enviar a mensagem em texto legível por humanos.

nota

Ao criar os recursos para este tutorial, como a notificação do Amazon SNS e a regra de CloudWatch eventos, certifique-se de que os recursos sejam criados na mesma AWS região do seu pipeline.

Etapa 1: Configurar uma notificação por e-mail usando o Amazon SNS

O Amazon SNS coordena o uso de tópicos para enviar mensagens a endpoints ou clientes assinantes. Use o Amazon SNS para criar um tópico de notificação e assinar o tópico usando seu endereço de e-mail. O tópico do Amazon SNS será adicionado como destino à sua regra de CloudWatch Eventos. Para obter mais informações, consulte o Manual do desenvolvedor do Amazon Simple Notification Service.

Crie ou identifique um tópico no Amazon SNS. CodePipeline usará CloudWatch Eventos para enviar notificações sobre esse tópico por meio do Amazon SNS. Para criar um tópico:

  1. Abra o console do Amazon SNS em https://console.aws.amazon.com/sns.

  2. Escolha Criar tópico.

  3. Na caixa de diálogo Create new topic (Criar novo tópico), em Topic name (Nome do tópico), digite um nome para o tópico (por exemplo, PipelineNotificationTopic).

    Crie o tópico de notificação usando o Amazon SNS.
  4. Escolha Criar tópico.

    Para obter mais informações, consulte Criar um tópico no Guia do desenvolvedor do Amazon SNS.

Faça a assinatura de um ou mais destinatários para o tópico para que recebam notificações por e-mail. Para fazer a assinatura de um destinatário para um tópico:

  1. No console do Amazon SNS, na lista Tópicos, marque a caixa de seleção ao lado do novo tópico. Escolha Actions, Subscribe to topic.

  2. Na caixa de diálogo Create subscription, verifique se é exibido um ARN em Topic ARN.

  3. Em Protocolo, escolha Email.

  4. Em Endpoint, digite o endereço de e-mail completo do destinatário.

  5. Escolha Create Subscription (Criar assinatura).

  6. O Amazon SNS envia um e-mail de confirmação de assinatura ao destinatário. Para receber notificações de e-mail, o destinatário deve escolher o link Confirm subscription nesse e-mail. Assim que o destinatário clicar no link, se a assinatura tiver sido realizada com êxito, o Amazon SNS exibirá uma mensagem de confirmação no navegador web do destinatário.

    Para obter mais informações, consulte Assinar um tópico no Guia do desenvolvedor do Amazon SNS.

Etapa 2: Criar uma regra e adicionar o tópico do SNS como destino

Crie uma regra de notificação de CloudWatch eventos com CodePipeline a fonte do evento.

  1. Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, escolha Eventos.

  3. Escolha Create rule. Em Event source (Origem do evento), escolha AWS CodePipeline. Em Event Type, escolha Pipeline Execution State Change.

  4. Escolha Specific state(s) (Estado[s] específico[s]) e FAILED.

  5. Escolha Edit para abrir o editor de JSON no painel Event Pattern Preview. Adicione o parâmetro pipeline com o nome de seu pipeline, como mostrado no exemplo a seguir para um pipeline chamado "myPipeline".

    É possível copiar o padrão de evento aqui e colá-lo no console:

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

  7. Na lista de destinos, escolha SNS topic. Em Topic, insira o tópico que você criou.

  8. Expanda Configure input e escolha Input Transformer.

  9. Na caixa Input Path, digite os pares de chave/valor a seguir.

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

    Na caixa Input Template, digite o seguinte:

    "The Pipeline <pipeline> has failed."
  10. Escolha Configure details (Configurar detalhes).

  11. Na página Configure rule details, digite um nome e, opcionalmente, uma descrição. Em State, deixe a caixa Enabled marcada.

  12. Escolha Create rule.

  13. Confirme que agora CodePipeline está enviando notificações de compilação. Por exemplo, verifique se agora os e-mails de notificação de compilação estão em sua caixa de entrada.

  14. Para alterar o comportamento de uma regra, no CloudWatch console, escolha a regra e, em seguida, escolha Ações, Editar. Edite a regra e escolha Configure details e, em seguida, Update rule.

    Para parar de usar uma regra para enviar notificações de criação, no CloudWatch console, escolha a regra e, em seguida, escolha Ações, Desativar.

    Para excluir uma regra, no CloudWatch console, escolha a regra e, em seguida, escolha Ações, Excluir.

Etapa 3: Limpar os recursos

Após concluir este tutorial, você deverá excluir o pipeline e os recursos usados para não ser cobrado pelo uso contínuo desses recursos.

Para obter informações sobre como limpar a notificação do SNS e excluir a regra do Amazon CloudWatch Events, consulte Limpar (cancelar a assinatura de um tópico do Amazon SNS) e consulte a Referência da DeleteRule API CloudWatch Amazon Events.