Aller au contenu

Workflows ​

Les workflows sont des chaînes d'automatisation réutilisables qui traitent le trafic capturé, exécutent des étapes actives ou transforment des données, sans nécessiter l'écriture de scripts autonomes.

Types de workflows ​

TypeDéclencheurUsage courant
PassifNouveau trafic capturéSignaler des motifs intéressants, étiqueter des requêtes, créer automatiquement des constats.
ActifExécution manuelleEnvoyer des requêtes complémentaires, enchaîner des actions, exécuter des tests en plusieurs étapes.
ConversionEntrée de test, actions de conversion ou Rechercher et remplacerTransformer du texte ou des octets, par exemple pour mettre en forme du JavaScript ou normaliser du JSON.

Les workflows passifs s'exécutent en continu en arrière-plan. Les workflows actifs s'exécutent à la demande sur un ensemble de requêtes sélectionnées.

Canevas du workflow ​

Ouvrez Workflows et sélectionnez un workflow pour ouvrir son canevas.

  • Les nœuds apparaissent dans le panneau central. Chaque nœud possède des ports d'entrée et de sortie typés.
  • Reliez un port de sortie à un port d'entrée par glisser-déposer entre les deux.
  • Cliquez sur un nœud pour ouvrir son panneau de configuration à droite.
  • La barre d'outils supérieure contient les contrôles d'exécution, d'activation/désactivation et d'import/export.

Types de nœuds ​

NœudDescription
Début / FinNœuds d'entrée et de sortie adaptés au type de workflow : passif, actif ou de conversion.
ConditionsSi / Sinon, Si / Sinon JS, Filtre HTTPQL, Filtre de périmètre, Contient du texte et Correspondance regex : branchements et vérifications de correspondance.
EncodageEncodage et décodage Base64, URL, Hex et HTML.
Mise en forme et hachageCompacter le JSON / Mettre en forme le JSON pour la mise en forme JSON, ainsi que MD5, SHA-1 et SHA-256.
Opérations sur le texteSupprimer les caractères aux extrémités, Joindre, Découper, Rechercher et remplacer, Transformation JQ et Extraction Grep : suppression des espaces aux extrémités, assemblage, découpage, remplacement, transformation et extraction.
JavaScriptLogique personnalisée utilisant le SDK de workflows ; peut lire le trafic, manipuler des fichiers et créer des constats.
IntégrationJournaliser, Webhook, Exécuter un workflow, Envoyer une requête et Règle de recherche et remplacement : journalisation, webhooks, invocation de workflows, envoi de requêtes et règles de remplacement.

Consultez la palette des nœuds pour connaître les ports et la configuration disponibles. Cliquez sur une connexion pour agir sur ce lien plutôt que de supprimer un nœud pour reconnecter le graphe. Enregistrez avec Enregistrer ou Ctrl+S (Command+S sur macOS).

Partage et périmètre ​

Par défaut, les workflows sont partagés entre les projets d'un même espace de travail. Activez Propre au projet pour conserver une définition avec son projet. Le partage des définitions ne signifie pas que le trafic, les résultats ou les notes de chaque projet sont partagés. Exportez et importez le JSON des workflows pour les transférer vers un autre espace de travail ou une autre installation.

Tester avant une utilisation réelle ​

Les workflows passifs et actifs disposent d'une section Test HTTP contenant des données de test : URL, requête brute dans Requête et réponse brute dans Réponse. Activez le workflow, renseignez ces champs et cliquez sur Tester le workflow. Le test enregistre les modifications avant l'exécution. Les valeurs de test sont conservées pour chaque workflow lorsque vous quittez la page puis y revenez.

Un workflow de conversion propose à la place Entrée de test et une sortie. Commencez par une petite entrée représentative, puis testez une ressource de taille réaliste. Des données de test ne rendent pas inoffensifs du JavaScript arbitraire ou des nœuds Envoyer une requête : le code du workflow peut toujours effectuer les actions configurées.

JavaScript et fichiers ​

Le JavaScript des workflows prend en charge le SDK d'Ogma et les imports fs/path compatibles. Utilisez sdk.fs.readFile, writeFile, appendFile, exists, readDir, mkdir et unlink pour les opérations sur les fichiers, et sdk.path pour les chemins adaptés à la plateforme. Il s'agit de fonctions utilitaires d'Ogma, et non de l'intégralité de la bibliothèque standard Node.js.

Pour exporter des ressources, lisez response.getBody().toText(), choisissez une destination avec sdk.path.join, créez son répertoire parent et vérifiez sdk.fs.exists si vous ne voulez pas écraser un fichier existant. Examinez les chemins du système de fichiers avant l'exécution : les fonctions de fichiers des workflows s'exécutent sur l'hôte d'Ogma, contrairement au sdk.fs d'un plugin, limité à son répertoire privé. Consultez le SDK des plugins pour cet environnement d'exécution distinct.

Importer un workflow ​

  1. Cliquez sur Importer dans la barre d'outils Workflows.
  2. Sélectionnez un fichier de workflow JSON.
  3. Le workflow s'ouvre dans le canevas. Vérifiez la configuration des nœuds avant de l'activer.
  4. Enregistrez le workflow.

Les fichiers JSON de workflows exportés peuvent être partagés entre des installations d'Ogma ou conservés dans un système de gestion de versions.

Exécuter un workflow sur l'historique capturé ​

Les workflows actifs peuvent être réexécutés sur des requêtes déjà capturées.

  1. Ouvrez le workflow.
  2. Cliquez sur Exécuter sur l’historique.
  3. Dans la fenêtre modale d'analyse de l'historique, saisissez un filtre HTTPQL facultatif pour limiter les requêtes traitées par le workflow.
  4. Cliquez sur Exécuter.

Vérifiez le nombre de correspondances et démarrez la tâche. La progression et les erreurs apparaissent dans la tâche d'analyse et, lorsque la journalisation est activée, dans son historique d'exécution. Les workflows passifs proposent Analyser l’historique et Relancer sur une requête pour le traitement rétrospectif.

Pour quelques ressources intéressantes, sélectionnez une ou plusieurs lignes dans Historique HTTP, faites un clic droit, choisissez Workflow, puis sélectionnez un workflow actif et activé. Cette action lui transmet les entrées sélectionnées sans modifier sa définition ni traiter l'ensemble de l'historique.

Le bouton IA, à côté du champ de filtre de l'analyse de l'historique, génère une expression HTTPQL à partir d'une description en langage naturel.

Exécutions et résultats des workflows ​

Activez Activer la journalisation dans la configuration du workflow lorsque vous avez besoin de détails d'exécution. Cette option s'applique aux workflows passifs, actifs et de conversion, y compris aux conversions Rechercher et remplacer. Lorsqu'elle est désactivée, le traitement continue, mais aucun journal d'exécution ou d'étape n'est ajouté ; réactivez-la et répétez un test pour diagnostiquer un problème.

  • Cliquez sur une exécution pour voir la sortie des étapes de chaque nœud.
  • Les nœuds ayant produit des erreurs sont mis en évidence.
  • Les constats créés pendant l'exécution apparaissent dans la vue Constats.
  • Les variables extraites pendant l'exécution sont visibles dans le panneau de détails de l'étape.

Tout supprimer supprime l'historique d'exécution enregistré du workflow sélectionné. Téléchargez les journaux avant de les effacer si vous devez conserver des éléments de diagnostic. La journalisation peut stocker des sorties volumineuses, comme des corps de scripts complets ; laissez-la désactivée pour les conversions à fort volume, sauf si elle est nécessaire.

Activer un workflow passif ​

  1. Ouvrez le workflow.
  2. Vérifiez que la configuration du canevas est complète (aucun port obligatoire déconnecté).
  3. Activez Activer dans la barre d'outils.

Les workflows passifs activés traitent automatiquement le nouveau trafic. Désactivez un workflow pour le suspendre sans le supprimer.

Logiciel propriétaire. Tous droits réservés.