Pipelines
Lister, déclencher et arrêter des pipelines via l'API.
Pipelines
Un pipeline exécute plusieurs automations en séquence.
Lister les pipelines
GET /api/v1/pipelines
Scope requis : pipeline:read
curl https://api.gurren.leandre.io/api/v1/pipelines \
-H "x-api-key: gfac_votre_cle"
Réponse :
[
{
"_id": "888a...",
"name": "Pipeline inscription",
"description": "Inscrit et vérifie un utilisateur",
"automations": [
{ "_id": "665a...", "name": "Inscription", "url": "..." },
{ "_id": "665b...", "name": "Vérification email", "url": "..." }
],
"status": "idle",
"schedule": "0 9 * * 1-5",
"createdAt": "2024-06-01T10:00:00.000Z"
}
]
Déclencher un pipeline
POST /api/v1/pipelines/:id/trigger
Scope requis : pipeline:execute
curl -X POST https://api.gurren.leandre.io/api/v1/pipelines/888a.../trigger \
-H "x-api-key: gfac_votre_cle" \
-H "Content-Type: application/json" \
-d '{ "sessionId": "session_id_optionnel" }'
Réponse :
{
"success": true,
"status": "completed",
"logs": [
"Exécution manuelle démarrée",
"Starting automation 665a...",
"Completed automation 665a...",
"Starting automation 665b...",
"Completed automation 665b...",
"Exécution manuelle terminée avec le statut: completed"
]
}
Contrairement aux automations, le trigger de pipeline est synchrone : la réponse contient le résultat final.
Statuts possibles
| Statut | Description |
|---|---|
completed | Toutes les automations réussies |
failed | Toutes les automations échouées |
partial_failed | Certaines automations réussies, d'autres échouées |
Mettre en file d'attente
POST /api/v1/pipelines/:id/enqueue
Scope requis : pipeline:execute
Place le pipeline dans une file d'attente pour une exécution asynchrone avec callback webhook optionnel.
curl -X POST https://api.gurren.leandre.io/api/v1/pipelines/888a.../enqueue \
-H "x-api-key: gfac_votre_cle" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "session_id_optionnel",
"webhookUrl": "https://example.com/callback"
}'
Réponse :
{
"success": true,
"jobId": "bbb1b2c3d4e5f6a7b8c9d0e2",
"statusUrl": "/api/v1/jobs/bbb1b2c3d4e5f6a7b8c9d0e2"
}
Voir File d'attente pour le suivi des jobs.
Arrêter un pipeline
POST /api/v1/pipelines/:id/stop
Scope requis : pipeline:execute
curl -X POST https://api.gurren.leandre.io/api/v1/pipelines/888a.../stop \
-H "x-api-key: gfac_votre_cle"
Réponse :
{
"success": true,
"message": "Stop requested"
}