Configurar disparadores de pipeline
Un disparador es lo que inicia un pipeline. Cada uno es un nodo del 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.
- Pulsa el lápiz de la fila de la plantilla para abrir el editor.
- Selecciona un nodo de disparador en el lienzo. Aparece el panel derecho con los ajustes de ese disparador. Si no hay nada seleccionado, el panel permanece oculto.
Añadir un disparador
Sección titulada «Añadir un disparador»La sección Disparadores de la biblioteca de nodos muestra 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 en la misma lista que se puede buscar.
El disparador se inserta de inmediato. Los disparadores automáticos nuevos empiezan desactivados, para que soltar uno no lance una ejecución antes de que lo hayas configurado. Usa el interruptor Activado del inspector para activarlo, o el icono de la papelera para eliminarlo.
Permitir ejecuciones manuales
Sección titulada «Permitir ejecuciones manuales»Arrastra Ejecución manual (o elígela en 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. Se guarda de inmediato; no
hay nada que guardar.
El mismo interruptor está detrás de Ejecución manual en la cabecera del editor, donde se sitúa junto a las entradas declaradas de la plantilla.
Con un evento
Sección titulada «Con un evento»Estos eventos inician una ejecución:
| Etiqueta del 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 de carga útil 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. Pulsa cualquiera de
merged, closed, approved, opened, reopened; el disparador solo se
activa cuando el status del evento coincide con uno de ellos. Si dejas todos
los chips sin seleccionar, no hay filtro.
No hay ningún campo de filtro JSON de formato libre. Una clave de filtro que la carga útil del evento no lleve nunca coincide, así que no la escribas 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. Por defecto, UTC. |
| Si se pierden ejecuciones | Qué hacer con las activaciones perdidas mientras el servidor estaba caído: Ejecutar una vez agrupa todas las franjas perdidas en una sola activación al reiniciar (opción por defecto), Omitir reanuda en la siguiente franja futura. |
La línea de resumen de la tarjeta del lienzo solo detalla el intervalo para la
forma every:<seconds>; una expresión cron se muestra solo como
«Programación».
Mediante un webhook
Sección titulada «Mediante un webhook»Al arrastrar Webhook se acuña un token aleatorio. Selecciona el nodo para
copiar la ruta POST /webhooks/<token> desde el inspector.
El token es también el secreto HMAC: la solicitud debe incluir
X-Hub-Signature-256: sha256=<hex>, donde el hex es HMAC-SHA256(body, token).
Una entrega que no supera la verificación se rechaza y se registra, y no se
puede volver a enviar. Los duplicados se ignoran por su clave de deduplicación.
Cada inicio es su propio nodo del grafo. Si tiras un cable desde Programación, solo conectas Programación; Ejecución manual puede seguir 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 se salta los subgrafos que pertenecen a los demás 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 coinciden inicia una
ejecución con la carga útil del evento como carga útil de 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 activado 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»- Condicionar solo la ruta manual — pasa Ejecución manual por un nodo de condición y lleva 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 así, 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 ha descrito antes.
Guías relacionadas
Sección titulada «Guías relacionadas»- Crear una plantilla de pipeline
- Ejecutar un pipeline manualmente
- Supervisar ejecuciones de pipeline
- Referencia de eventos de dominio