Configurar disparadores de pipeline
Un disparador es lo que inicia un pipeline. Cada uno es un nodo en el lienzo, que se arrastra desde la sección Disparadores de la biblioteca de nodos. Al seleccionar ese nodo se abre su inspector a la derecha: no hay una lista de disparadores siempre visible, ni una pestaña de disparadores, ni una pantalla de disparadores.
Abrir el inspector de un disparador
Sección titulada «Abrir el inspector de un disparador»- Ve a Ajustes → Espacio de trabajo → Plantillas de pipeline.
- Presiona el lápiz en la fila de la plantilla para abrir el editor.
- Selecciona un nodo de disparador en el lienzo. El panel derecho aparece con la configuración de ese disparador. Si no hay nada seleccionado, el panel permanece oculto.
Agregar un disparador
Sección titulada «Agregar un disparador»La sección Disparadores de la biblioteca de nodos lista cada tipo de inicio
como su propio nodo: manual, programación, webhook y una tarjeta por cada evento
de dominio. Busca merged, ticket o el nombre del tipo (PrMerged) y
arrastra la tarjeta al lienzo. Una plantilla nueva también muestra una tarjeta
fantasma Añadir un disparador en el ancla de entrada: elige de la misma
lista con búsqueda.
El disparador se inserta de inmediato. Los disparadores automáticos nuevos comienzan desactivados, para que al soltar la tarjeta no se dispare una ejecución antes de que lo hayas configurado. Usa el interruptor Activado del inspector para activarlo, o el icono de papelera para eliminarlo.
Permitir ejecuciones manuales
Sección titulada «Permitir ejecuciones manuales»Suelta Ejecución manual (o elígela de la tarjeta fantasma) y activa
Activado en su inspector. Eso es lo que hace que la plantilla aparezca en el
lanzador de ejecuciones. No es un caso especial: el interruptor escribe una fila
de disparador normal cuyo tipo de evento es manual. Persiste de inmediato; no
hay nada que guardar.
El mismo interruptor está detrás de Ejecución manual en el encabezado del editor, donde aparece junto a las entradas declaradas de la plantilla.
Con un evento
Sección titulada «Con un evento»Estos eventos inician una ejecución:
| Etiqueta en el selector | Evento |
|---|---|
| PR externa abierta | ExternalPrDetected |
| PR publicada | PullRequestPublished |
| Estado de la PR cambiado | PullRequestStatusChanged |
| PR fusionada | PrMerged |
| Mensaje recibido | MessageReceived |
| Ticket creado | TicketCreated |
| Estado del ticket cambiado | TicketStatusChanged |
| Ticket asignado | TicketAssigned |
| Tarea completada | TicketCompleted |
| Tarea fallida | TicketFailed |
| Tarea cancelada | TicketCancelled |
| Umbral de presupuesto superado | BudgetThresholdCrossed |
| Repositorio añadido | RepoAdded |
| Grabación de la reunión detenida | MeetingRecordingStopped |
| Habilidad actualizada | SkillUpdated |
| Espacio eliminado | SpaceDeleted |
SpaceDeleted es el evento que escucha el pipeline integrado de limpieza de
worktrees: lleva el id del espacio eliminado, así que la ejecución recupera
exactamente los worktrees de ese espacio en lugar de recorrer todo el espacio de
trabajo.
Para conocer las claves del payload que lleva cada evento, consulta la referencia de eventos de dominio.
Filtrar un disparador de evento
Sección titulada «Filtrar un disparador de evento»Selecciona el nodo Estado de la PR cambiado. Los chips de estado del
inspector son el único filtro que la interfaz puede crear. Toca cualquiera de
merged, closed, approved, opened, reopened; el disparador solo se
activará cuando el status del evento coincida con uno de ellos. Dejar todos
los chips sin seleccionar significa que no hay filtro.
No hay un campo de filtro JSON de forma libre. Una clave de filtro que el payload del evento no lleve nunca coincidirá, así que no crees una a mano contra una clave que no hayas confirmado en la referencia de eventos de dominio.
Con una programación
Sección titulada «Con una programación»Selecciona el nodo Programación para editar cuándo se activa. Los campos del inspector se guardan tal como los dejas:
| Campo | Descripción |
|---|---|
| Programación (cron o every:segundos) | Una expresión cron de cinco campos como 0 9 * * 1, o un intervalo como every:86400. Un número sin más se convierte a every:<n>. |
| Zona horaria (opcional) | Una zona IANA como Europe/Paris. El valor predeterminado es UTC. |
| Si se pierden ejecuciones | Qué hacer con las activaciones perdidas mientras el servidor estaba caído: Ejecutar una vez colapsa cada ranura perdida en una sola activación al reiniciar (el valor predeterminado); Omitir se reanuda en la siguiente ranura futura. |
La línea de resumen de la tarjeta del lienzo solo detalla el intervalo en la
forma every:<seconds>; una expresión cron se muestra solo como
“Programación”.
Mediante un webhook
Sección titulada «Mediante un webhook»Al soltar Webhook se genera un token aleatorio. Selecciona el nodo para
copiar la ruta POST /webhooks/<token> desde el inspector.
El token también es el secreto HMAC: la solicitud debe llevar
X-Hub-Signature-256: sha256=<hex>, donde el hex es HMAC-SHA256(body, token).
Una entrega que no supera la verificación se rechaza, se registra en el log y no
se puede reenviar. Los duplicados se ignoran por su clave de deduplicación.
Cada inicio es su propio nodo del grafo. Tirar un cable desde Programación conecta solo la programación; Ejecución manual puede tomar una ruta distinta (por ejemplo, un nodo de condición) antes de unirse al mismo trabajo. Una ejecución entra por el inicio que coincide con su tipo de evento y omite los subgrafos que pertenecen a los otros inicios.
Cómo llega un disparador a una ejecución
Sección titulada «Cómo llega un disparador a una ejecución»Un disparador activado cuyo tipo de evento y filtro coincidan inicia una
ejecución con el payload del evento como payload del disparador de la ejecución:
eso es contra lo que se resuelve {{key}} en el prompt o el script de un paso.
Los eventos que llevan una clave natural se deduplican, así que el mismo evento
disparado dos veces no inicia dos ejecuciones.
Una plantilla desactivada se rechaza aunque su disparador coincida. Ocho de las trece plantillas integradas vienen desactivadas, así que sus disparadores sembrados no activan nada hasta que actives la plantilla.
Patrones útiles
Sección titulada «Patrones útiles»- Filtrar solo la ruta manual: conecta Ejecución manual a través de un nodo de condición, y Programación directamente al trabajo. Cada inicio tiene sus propios cables.
- Revisar cada PR nueva: evento PR publicada en la plantilla
pr_review. - Limpiar después de una fusión: evento Estado de la PR cambiado,
filtrado a
merged/closed/approved. La plantilla integradapr_merged_cleanupya escucha de esta forma, además de ticket completado/cancelado,SpaceDeletedy una programación diaria que se fuerza a activarse en cada resiembra porque es recolección de basura. - Barrido nocturno: programación
0 2 * * *con una zona horaria, en una plantilla cuyo primer nodo es un script de bash. - Reaccionar a un sistema externo: un disparador de webhook, con el sistema que llama firmando el cuerpo de su solicitud como se describió antes.
Guías relacionadas
Sección titulada «Guías relacionadas»- Crear una plantilla de pipeline
- Ejecutar un pipeline manualmente
- Monitorear ejecuciones de pipeline
- Referencia de eventos de dominio