1. Support
  2. Base de connaissances
  3. Surveillance des API
  4. Fonctions définies par l'utilisateur

Fonctions définies par l’utilisateur

Nous changeons notre interface. Certaines informations peuvent ne pas être à jour. En savoir plus.

La Surveillance API multi-étapes d’Uptrends vous permet d’exécuter plusieurs requêtes HTTP séquentielles sur votre API ; les données entrantes sont analysées, enregistrées dans des variables ou vérifiées pour la présence de contenu spécifique. Dans certains cas, cependant, les données entrantes auront besoin d’être transformées ou mappées, pour en extraire plus facilement un sens. Par exemple, les fonctions de codage et de décodage XML et JSON décrites dans notre guide de formatage des messages pour les intégrations personnalisées. En plus de ces fonctions natives, Uptrends vous permet de définir des Fonctions définies par l’utilisateur. Ces fonctions peuvent être utilisées pour convertir des valeurs de variables (acquis lors d’une étape précédente, ou à partir d’une variable système fournie par Uptrends) à des nouvelles valeur.

Types de fonctions utilisateur disponibles

Actuellement, nous proposons deux types de fonctions utilisateur :

  • Expression régulière : ce type de fonction vous permet d’appliquer une expression régulière (RegEx) à vos variables précédemment créées. Il sert à extraire des sections spécifiques des données de réponse (comme l’extraction d’un code d’authentification à partir d’une entête de redirection Location).
  • Conversion : ce type de fonction vous permet de remplacer automatiquement certaines valeurs de la réponse par d’autres valeurs spécifiques. Par exemple, si un endpoint utilise les termes erreur ou ok (comme c’est le cas pour l’API Uptrends) tandis que le suivant avec lequel vous interagirez utilise plutôt les termes incident ou sain, vous pouvez utiliser une fonction de conversion pour adapter automatiquement ces valeurs aux équivalents corrects.

Création de fonctions définies par l’utilisateur

Vous pouvez configurer une intégration définie par l’utilisateur soit dans l’onglet Étapes de vos moniteurs API multi-étapes, soit dans l’onglet Personnalisations de vos intégrations (personnalisées).

Remarque : Une fonction définie par l’utilisateur est spécifique au moniteur API multi-étapes ou à l’intégration personnalisée pour laquelle elle a été configurée, et ne s’applique pas à d’autres moniteurs ou intégrations.
  1. Dans l’onglet Étapes de l’un de vos moniteurs API multi-étapes ou dans l’onglet Personnalisations de vos intégrations (personnalisées), vous trouverez la section Fonctions définies par l’utilisateur près du bas de la page.

  2. Cliquez sur le bouton Ajouter une fonction pour commencer à définir une nouvelle fonction.

  3. Sélectionnez le type de fonction souhaitée, Conversion ou Expression régulière, et donnez à la fonction un nom approprié, de préférence un nom simple et sans espaces, car vous devrez vous y référer plus tard.

  4. Dans le cas d’une fonction de conversion, ajoutez les correspondances individuelles dont vous avez besoin. La fonction de Conversion traduira les valeurs «De» en valeurs «À» correspondantes.

    Pour une fonction de type expression régulière, spécifiez RegEx selon vos besoins. Le Regex est comparé au texte entrante et peut être utilisé pour en extraire une partie spécifique.

Vous pouvez ajouter des fonctions supplémentaires en répétant ces étapes, si nécessaire.

Exemple de fonction définie par l’utilisateur

Utiliser vos fonctions

Pour utiliser votre nouvelle fonction définie par l’utilisateur, il faudra envelopper la ou les variables sur lesquelles la fonction doit agir de cette façon {{userDefinedFunction({{variableReference}})}}. À titre d’exemple, examinons une fonction de conversion dont le but est de remplacer le texte (des données de réponse entrantes) ‘Erreur’ par ‘Incident’, ‘Avertissement’ par ‘Anormal’ et ‘Ok’ par ‘Sain’, de sorte que l’endpoint à l’étape suivante reçoit les termes qu’il comprend. Dans cet exemple :

  • Comme indiqué dans l’image ci-dessus, une fonction définie par l’utilisateur appelée errorMapping a été créée.
  • L’endpoint renvoie une réponse JSON contenant un champ ‘Status’, qui a une valeur ‘Erreur’, ‘Avertissement’ ou ‘Ok’.
  • Dans l’étape suivante, nous voulons transmettre ces données d’état à une autre API. Cette nouvelle API ne comprend cependant pas les termes utilisés et requiert plutôt les valeurs ‘Incident’, ‘Anormal’ ou ‘Sain’.

Pour utiliser la fonction errorMapping pour replacer automatiquement les valeurs de status par les termes corrects, procédez comme suit :

  1. Extraire la valeur du champ ‘Status’ à partir des données de réponse, comme vous le feriez normalement (voir notre Guide de configuration des variables de surveillance multi-étapes). Dans cet exemple, la nouvelle variable est nommée statusRaw. Comme décrit ci-dessus, cette variable contiendra ‘Erreur’, ‘Avertissement’ ou ‘Ok’.
  2. Pour appliquer la fonction utilisateur, cliquez d’abord sur le bouton Ajouter une variable.
  3. Définissez comme source de la variable (la liste déroulante à gauche) Exécuter la fonction.
  4. Pour l'expression de la fonction, encapsulez la référence de la variable dans la fonction comme décrit ci-dessus : {{errorMapping({{statusRaw}})}}
  5. La valeur résultante sera ‘Incident’, ‘Anormal’ ou ‘Sain’, en fonction de la valeur de statutRaw. Dans le champ Nom de variable, spécifiez un nom pour la valeur de sortie.

Utilisation d’une fonction définie par l’utilisateur

Nous avons maintenant créé une nouvelle valeur status, dont la valeur est ‘Incident’, ‘Anormal’ ou ‘Sain’. Dans les étapes suivantes, nous pouvons faire référence à cette variable de la façon habituelle (par exemple en utilisant la notation {{status}}. Dans cet exemple, nous avons utilisé une fonction de Conversion, mais pour une fonction RegEx les étapes sont identiques.

En utilisant ce site, vous consentez à l’utilisation de cookies conformément à notre Politique de cookies.