Pular para o conteúdo principal

Alertas

A aba Alertas de um projeto decide para onde os resultados das tarefas são reportados. Ela tem duas partes:

  • Canais do servidor são os provedores de notificação que um administrador configurou no servidor em config.json, veja Notificações. São compartilhados por todos os projetos e cada projeto decide se os usa.
  • Alertas do projeto são destinos nomeados que pertencem ao projeto: um chat do Telegram, um webhook do Slack, uma lista de endereços de e-mail e assim por diante. Modelos e agendamentos escolhem quais alertas enviam.

As duas partes podem ser usadas ao mesmo tempo.

Aba Alertas de um projeto

Canais do servidor​

O cartão no topo da página lista os canais configurados no servidor. Ative Enviar alertas deste projeto aos canais do servidor para receber por eles todos os resultados de tarefas deste projeto. É o mesmo interruptor que versões anteriores chamavam de Allow alerts for this project nas configurações do projeto.

O Telegram aparece assim que o servidor tem um token de bot, em cinza até que um chat seja conhecido. Clique no chip para informar o Telegram Chat ID deste projeto; ele substitui o chat global e é obrigatório quando o servidor não tem nenhum.

Os canais do servidor reportam todos os estados relevantes: sucesso, falha e aguardando confirmação. O e-mail reporta apenas falhas. Um modelo ainda pode suprimir notificações de sucesso ou falha, veja Alertas do modelo.

Cartão de canais do servidor com o chat ID do Telegram aberto

Alertas do projeto​

Menu Novo alerta

Pressione Novo alerta para criar um destino. Cada alerta tem:

CampoDescrição
NomeExibido nos formulários de modelo e agendamento. Único dentro do projeto.
TipoO canal: Telegram, Slack, Email, Microsoft Teams, Rocket.Chat, DingTalk ou Gotify. O formulário mostra os campos de destino que o canal precisa.
DestinoID do chat e tópico de fórum opcional para Telegram; URL do webhook para Slack, Teams, Rocket.Chat e DingTalk; URL do servidor para Gotify; destinatários para e-mail (deixe vazio para notificar os membros do projeto que ativaram alertas no perfil).
SegredoTelegram, Gotify e e-mail precisam de um segredo: o token do bot, o token da aplicação, as credenciais SMTP. Usar as configurações do servidor o obtém da configuração do servidor; Usar o meu o obtém de uma chave de acesso do Repositório de chaves (tipo Token secreto para tokens, Login com senha para SMTP). Um alerta de e-mail com credenciais próprias também pode definir seu próprio host SMTP, porta, remetente e criptografia.
Enviar emOs eventos que o alerta escuta: sucesso, falha, aguardando confirmação. Novos alertas começam com os padrões do canal.
Padrão do projetoMarca o alerta como um dos padrões do projeto. Todo modelo que usa os padrões do projeto o envia.
AtivadoUm alerta desativado nunca é enviado e não é um padrão do projeto.
Modelo de mensagemTemplate Go opcional para o corpo da mensagem. Mantenha o texto integrado para acompanhar futuras atualizações do servidor.

Segredos nunca são armazenados no alerta: ficam criptografados no Repositório de chaves e a chave não pode ser excluída enquanto um alerta a usa. Quando o servidor não tem token do bot, servidor SMTP ou par Gotify configurados, o formulário só oferece Usar o meu. URLs de webhook devem usar http ou https e não podem apontar para o próprio servidor.

Use Enviar mensagem de teste na lista para verificar um alerta e Testar tudo na barra de ferramentas para enviar um teste a todos os destinos ativados do projeto, incluindo os canais do servidor.

Um alerta vinculado a um modelo ou agendamento não pode ser excluído. A caixa de diálogo lista os objetos que o usam.

Alerta do Telegram com token de bot próprio

Modelos de mensagem​

O corpo é um text/template Go (html/template para e-mail). Os campos disponíveis são:

CampoValor
.NameNome do modelo
.AuthorNome do usuário que iniciou a tarefa, ou —
.Project.Name, .Project.IDO projeto
.PlaybookPlaybook ou script do modelo
.ScheduleNameNome do agendamento que iniciou a tarefa, se houver
.Task.ID, .Task.URLNúmero da tarefa e link para o log
.Task.ResultEstado com ícone, por exemplo ✅ SUCCESS
.Task.DescMensagem informada ao iniciar a tarefa
.Task.VersionVersão de build, ou a versão de build de entrada para tarefas de deploy
.Task.DurationTempo de execução, vazio até a tarefa iniciar
.Task.Triggermanual, schedule, integration ou api
.ColorCor do anexo para Slack e Rocket.Chat

Para canais de chat o texto renderizado deve ser o documento JSON esperado pelo mensageiro; o template integrado é um bom ponto de partida. Corpos do Telegram são texto simples com formatação HTML; o chat e o tópico são adicionados pelo Semaphore.

Alertas do modelo​

Na seção Avançado de um modelo de tarefa, Alertas escolhe entre:

  • Usar padrões do projeto — canais do servidor, quando ativados para o projeto, mais os alertas marcados como padrão do projeto. Modelos existentes mantêm esse comportamento após uma atualização.
  • Usar um conjunto personalizado de alertas — apenas os alertas selecionados. Uma seleção vazia significa que o modelo não envia nada.

Suprimir notificações de sucesso e Suprimir notificações de erro valem para as duas opções. Notificações de uma tarefa aguardando confirmação nunca são suprimidas.

Modelo de tarefa com um conjunto personalizado de alertas

Alertas do agendamento​

Um agendamento pode usar os alertas do modelo ou usar um conjunto diferente de alertas. A segunda opção substitui totalmente a seleção do modelo para as tarefas iniciadas por aquele agendamento, então um job noturno pode reportar a um canal de plantão enquanto execuções manuais ficam em silêncio.

Agendamento com seu próprio conjunto de alertas

Como uma tarefa é roteada​

Os destinos de uma tarefa são fixados quando ela é criada. Alterar um alerta, um modelo ou um agendamento enquanto uma tarefa executa não muda para onde essa tarefa reporta. Cada entrega é registrada por tarefa, destino e evento, então em uma instalação de alta disponibilidade apenas um nó do servidor envia cada mensagem.

Backups​

Os alertas do projeto fazem parte do backup do projeto. Modelos e agendamentos os referenciam por nome, então um projeto restaurado mantém seus vínculos. Os alertas referenciam sua chave de acesso pelo nome; como em toda chave, o valor secreto em si não é exportado.