Skip to content
receita de automação

Condicione um deploy a um botão de chat, não a uma aba de dashboard

Pause o pipeline, publique botões de aprovar/rejeitar no canal que já está acompanhando o release, e deixe o clique — não alguém vigiando uma aba — retomar ou cancelar a execução.

Gerentes de engenhariaEngenheiros de plataformaLíderes de DevOps

A maioria dos gates de deploy ainda significa alguém voltando à aba do dashboard de CI a cada poucos minutos para ver se há uma execução esperando por ele. O Dailybot move o gate para o canal que já está acompanhando o release: aprove ou rejeite a partir de um botão, e seu servidor de CI recebe o clique por meio de um callback assinado — sem aba, sem polling.

Esta página cobre o gate em si — botões de aprovar/rejeitar conectados a callback_url com callback_auth, confirmados com uma auto-resposta response, e opcionalmente encadeados a um botão callback_workflow para o que vier a seguir.

Construa passo a passo

  1. Pause o pipeline no gate

    Quando o pipeline chega a um gate de deploy, faça-o dar POST para /v1/send-message/ em vez de esperar em um dashboard. Direcione para o canal que já acompanha o release — Slack, Microsoft Teams, Discord ou Google Chat funcionam do mesmo jeito.

  2. Anexe botões de aprovar/rejeitar com um callback assinado

    Adicione dois botões interativos, cada um com callback_url apontando para seu servidor de CI e callback_auth para autenticação de transporte bearer, basic ou custom-header. callback_auth só é válido junto com callback_url — não tem efeito nos outros quatro tipos de callback.

  3. Retome ou cancele a partir do clique

    Aprovar publica seu value ("approve", ou o que você escolheu) para callback_url; Rejeitar publica o seu próprio. Seu servidor de CI verifica a requisição assinada e retoma ou cancela a execução — o clique é a automação, não um aviso sobre uma.

  4. Confirme no canal

    Adicione uma auto-resposta response a cada botão para que o canal veja a confirmação imediatamente — "Aprovado — implantando agora" ou "Rejeitado — deploy cancelado" — sem que ninguém precise atualizar uma página de pipeline.

  5. Encadeie um botão de workflow para a próxima etapa

    Combine um botão callback_workflow na mesma mensagem — por exemplo um botão "Reimplantar staging" que dispara um workflow api_trigger — para que a próxima etapa também esteja a um clique de distância.

Veja em ação

Um fluxo de aprovação simulado — nenhuma mensagem real é enviada.

dailybot APP

Vamos implantar a 4.12.0 em produção?

O que o clique realmente faz

Clique em um botão acima para ver o que o callback assinado faz.

Receitas para copiar e colar

curl -sS -X POST 'https://api.dailybot.com/v1/send-message/' \
  -H 'X-API-KEY: $DAILYBOT_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"message":"Vamos implantar 4.12.0 em produção?","target_channels":["C0123456789"],"buttons":[{"label":"Aprovar","button_type":"interactive","value":"approve","callback_url":"https://ci.example.com/hooks/deploy","callback_auth":{"type":"bearer","token":"$DEPLOY_CALLBACK_TOKEN"},"response":{"message":"Aprovado — implantando agora."}},{"label":"Rejeitar","button_type":"interactive","value":"reject","callback_url":"https://ci.example.com/hooks/deploy","callback_auth":{"type":"bearer","token":"$DEPLOY_CALLBACK_TOKEN"},"response":{"message":"Rejeitado — deploy cancelado."}}]}'

Pronto para transformar como sua equipe trabalha?

Junte-se a milhares de equipes que usam o Dailybot para economizar tempo, impulsionar o engajamento e tomar melhores decisões.