Skip to content
receta de automatización

Condiciona un deploy a un botón de chat, no a una pestaña de dashboard

Pausa el pipeline, publica botones de aprobar/rechazar en el canal que ya está mirando el release, y deja que el clic — no alguien vigilando una pestaña — reanude o cancele la ejecución.

Gerentes de ingenieríaIngenieros de plataformaLíderes de DevOps

La mayoría de los gates de deploy todavía significan que alguien vuelve a la pestaña del dashboard de CI cada pocos minutos para ver si hay una ejecución esperándolo. Dailybot mueve el gate al canal que ya está mirando el release: aprueba o rechaza desde un botón, y tu servidor de CI recoge el clic a través de un callback firmado — sin pestaña, sin polling.

Esta página cubre el gate en sí — botones de aprobar/rechazar conectados a callback_url con callback_auth, confirmados con una auto-respuesta response, y opcionalmente encadenados a un botón callback_workflow para lo que siga.

Constrúyelo paso a paso

  1. Pausa el pipeline en el gate

    Cuando el pipeline llega a un gate de deploy, haz que haga POST a /v1/send-message/ en lugar de esperar en un dashboard. Apunta al canal que ya está mirando el release — Slack, Microsoft Teams, Discord o Google Chat funcionan igual.

  2. Agrega botones de aprobar/rechazar con un callback firmado

    Agrega dos botones interactivos, cada uno con callback_url apuntando a tu servidor de CI y callback_auth para auth de transporte bearer, basic o custom-header. callback_auth solo es válido junto con callback_url — no tiene efecto en los otros cuatro tipos de callback.

  3. Reanuda o cancela desde el clic

    Aprobar publica su value ("approve", o el que hayas elegido) a callback_url; Rechazar publica el suyo. Tu servidor de CI verifica la solicitud firmada y reanuda o cancela la ejecución — el clic es la automatización, no un aviso sobre una.

  4. Confírmalo en el canal

    Agrega una auto-respuesta response a cada botón para que el canal vea la confirmación de inmediato — "Aprobado — desplegando ahora" o "Rechazado — deploy cancelado" — sin que nadie tenga que refrescar una página de pipeline.

  5. Encadena un botón de workflow para la siguiente etapa

    Combina un botón callback_workflow en el mismo mensaje — por ejemplo un botón "Redesplegar staging" que dispara un workflow api_trigger — para que la siguiente etapa también esté a un clic de distancia.

Míralo en acción

Un flujo de aprobación simulado — no se envía ningún mensaje real.

dailybot APP

¿Desplegamos 4.12.0 a producción?

Lo que realmente hace el clic

Haz clic en un botón arriba para ver qué hace el callback firmado.

Recetas para copiar y pegar

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":"¿Desplegamos 4.12.0 a producción?","target_channels":["C0123456789"],"buttons":[{"label":"Aprobar","button_type":"interactive","value":"approve","callback_url":"https://ci.example.com/hooks/deploy","callback_auth":{"type":"bearer","token":"$DEPLOY_CALLBACK_TOKEN"},"response":{"message":"Aprobado — desplegando ahora."}},{"label":"Rechazar","button_type":"interactive","value":"reject","callback_url":"https://ci.example.com/hooks/deploy","callback_auth":{"type":"bearer","token":"$DEPLOY_CALLBACK_TOKEN"},"response":{"message":"Rechazado — deploy cancelado."}}]}'

¿Listo para transformar cómo trabaja tu equipo?

Únete a miles de equipos que usan Dailybot para ahorrar tiempo, impulsar el engagement y tomar mejores decisiones.