Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 49

Analyse des erreurs : extraction des informations clés

Recommended resources

Bonjour !

Dans la leçon précédente, nous avons mis en place un workflow de gestion d'erreurs centralisé avec le nœud Error Trigger. Vous avez pu constater qu'en cas d'échec, ce déclencheur capture un objet JSON riche en informations sur l'incident. Cependant, ces données brutes ne sont pas encore directement exploitables.

L'objectif de cette leçon est d'apprendre à parser ces données d'erreur pour en extraire les informations clés : le nom du workflow qui a échoué, le message d'erreur spécifique et l'URL directe vers l'exécution pour un débogage rapide. Cette compétence est essentielle pour transformer une simple capture d'erreur en un système de surveillance actif et intelligent.

1. Comprendre la Structure des Données d'Erreur

Avant de pouvoir extraire une information, il est crucial de savoir où la trouver. La structure des données fournies par le nœud Error Trigger est standardisée. La documentation officielle de n8n est la meilleure source pour la comprendre.

Error Trigger node documentation - n8n Docs

Ce document de la documentation officielle de n8n décrit précisément l'objet de données que le nœud Error Trigger produit. C'est notre plan pour savoir où chercher les informations.

Consultez la section intitulée "Error data". Examinez attentivement la structure JSON fournie en exemple. Repérez les deux objets principaux, execution et workflow, ainsi que les champs que nous ciblons : name à l'intérieur de workflow, et url et error.message à l'intérieur de execution.

Comme vous pouvez le voir, les données sont organisées de manière logique :

  • workflow : Contient des informations sur le workflow lui-même.
    • id: L'identifiant du workflow.
    • name: Le nom du workflow, une information clé pour nos alertes.
  • execution : Contient des informations sur l'exécution spécifique qui a échoué.
    • id: L'identifiant de l'exécution.
    • url: L'URL directe vers l'exécution, essentielle pour un accès rapide.
    • error: Un objet contenant les détails de l'erreur.
      • message: Le message d'erreur, qui nous dit pourquoi l'échec a eu lieu.

Maintenant que nous savons où se trouvent les données, voyons comment les extraire.


2. Extraire les Données avec les Expressions n8n

Pour accéder à des valeurs spécifiques à l'intérieur d'un objet JSON dans n8n, nous utilisons des expressions. Vous pouvez imaginer une expression comme une "adresse" qui pointe vers une donnée précise.

La vidéo suivante, bien qu'en anglais, est une excellente démonstration visuelle de ce processus. Elle reprend un workflow d'erreur similaire à celui que nous avons construit et montre comment extraire les informations pour les utiliser, par exemple, dans un Google Sheets.

One n8n Workflow for Unlimited Error Handling (Step-by-Step)

Cette vidéo, "One n8n Workflow for Unlimited Error Handling", montre comment passer de la capture de l'erreur à son exploitation concrète.

Regardez attentivement ces deux segments : De 02:06 à 03:03 : L'auteur inspecte les données brutes reçues par le Error Trigger, ce qui correspond à ce que nous venons d'étudier dans la documentation. De 03:32 à 04:50 : C'est la partie la plus importante. Observez comment il utilise l'éditeur d'expressions pour prendre les données de l'étape précédente (workflow name, URL, error message) et les insérer dans les champs d'un autre nœud.


3. Mise en Pratique : Structurer les Données Extraites

Passons à la pratique. Nous allons modifier le workflow [GLOBAL] Error Handler que vous avez créé lors de la leçon précédente pour extraire et structurer proprement les informations de l'erreur. L'outil idéal pour cette tâche est le nœud Set.

  1. Ouvrez votre workflow [GLOBAL] Error Handler.

  2. Ajoutez un nœud Set et connectez-le au nœud Error Trigger. Le nœud Set permet de créer de nouvelles paires clé-valeur.

  3. Configurez le nœud Set pour créer un objet de sortie propre et facile à utiliser. Dans le panneau des paramètres du nœud Set, assurez-vous que le mode Keep Only Set est activé pour ne conserver que les données que nous définissons.

  4. Ajoutez les valeurs suivantes en utilisant des expressions pour extraire les données du Error Trigger :

    Key Value (Expression) Description
    workflowName {{ $json.workflow.name }} Extrait le nom du workflow qui a échoué.
    errorMessage {{ $json.execution.error.message }} Extrait le message d'erreur technique.
    executionUrl {{ $json.execution.url }} Extrait le lien direct vers l'exécution en échec.
    nodeName {{ $json.execution.lastNodeExecuted }} (Optionnel) Le nom du nœud qui a provoqué l'erreur.

Une note sur la syntaxe : {{ $json.workflow.name }} est une expression qui signifie : "Prends l'objet JSON entrant ($json), va dans la clé workflow, puis récupère la valeur de la clé name." C'est une manière très efficace et robuste de référencer les données de l'étape précédente.

Vous pouvez vous référer à l'article ci-dessous qui, bien qu'en anglais, montre une syntaxe d'expression alternative mais fonctionnellement identique ({{ $node["Error Trigger"].json... }}) pour construire un message de notification.

How to Easily Set Up an Error Workflow in n8n (Step-by-step)

Cet article, que nous avons déjà consulté, contient un exemple texte de la manière de construire un message dynamique, ce qui renforce ce que la vidéo a montré.

Relisez la section "Crafting the Dynamic Message". Elle illustre comment les expressions sont utilisées dans un nœud Slack pour insérer dynamiquement le nom et l'URL du workflow. C'est exactement le principe que nous appliquons avec notre nœud Set.

Après avoir configuré votre nœud Set, vous pouvez relancer le workflow de test qui échoue (Test - Failing Workflow). Ensuite, inspectez l'exécution réussie dans votre [GLOBAL] Error Handler. En cliquant sur le nœud Set, vous devriez voir en sortie un objet JSON propre et parfaitement structuré, prêt à être utilisé.

n8n Error Handling Workflow Example
Ce workflow illustre le concept. Le `Error Trigger` capture l'erreur, et les nœuds suivants (ici, Mattermost et Twilio) utilisent les données parsées pour envoyer des notifications ciblées.

Conclusion

Félicitations ! Vous avez transformé un flux de données brutes en informations structurées et exploitables. C'est le pont indispensable entre la simple détection d'une erreur et la capacité à y réagir de manière intelligente.

Points clés à retenir :

  • Les données du Error Trigger ont une structure JSON prévisible, documentée par n8n.
  • Les expressions sont le mécanisme principal de n8n pour naviguer dans ce JSON et en extraire des valeurs spécifiques.
  • Le nœud Set est l'outil parfait pour créer un nouvel objet de données propre contenant uniquement les informations extraites, ce qui simplifie grandement les étapes suivantes du workflow.

Maintenant que nous disposons de ces informations clés (workflowName, errorMessage, executionUrl), nous sommes prêts à construire des alertes utiles. Dans la prochaine leçon, nous utiliserons cet objet de données structurées pour envoyer une notification d'erreur formatée vers un canal Slack ou par email.