1. Support
  2. Knowledge Base
  3. API Monitoring
  4. Benutzerdefinierte Funktionen

Benutzerdefinierte Funktionen

Wir verbessern z. Zt. die Benutzeroberfläche. Manche Infos hier sind evtl. nicht mehr aktuell. Erfahre mehr.

Uptrends‘ Multi-Step API Monitoring bietet dir die Möglichkeit, mehrere aufeinanderfolgende HTTP-Anfragen bei deiner API auszuführen, bei denen eingehende Daten geparst, in Variablen gespeichert oder auf bestimmte Inhalte geprüft werden. In bestimmten Fällen jedoch wird es erforderlich sein, eingehende Daten zu transformieren oder zuzuweisen, um ihre Bedeutung leichter zu erfassen. Beispiele hierfür sind die XML- und JSON-Codierungs- und Decodierungsfunktionen, wie wir sie in unserem Setup Guide zu benutzerdefinierten Integrationen beschrieben haben. Neben diesen vorbestimmten Funktionen bietet Uptrends dir die Möglichkeit, benutzerdefinierte Funktionen einzurichten. Diese Funktionen können dann verwendet werden, um Variablen (aus einem vorherigen Schritt oder aus einer von Uptrends bereitgestellten Systemvariable) in einen neuen Wert zu konvertieren.

Verfügbare benutzerdefinierte Funktionen

Derzeit gibt es zwei Typen benutzerdefinierter Funktionen:

  • Regulärer Ausdruck: Anhand dieser Funktion kannst du einen regulären Ausdruck (RegEx) auf deine zuvor erstellten Variablen anwenden. Dies ist nützlich, wenn man bestimmte Abschnitte aus Antwortdaten extrahieren möchte (wie etwa das Extrahieren eines Authentifizierungscodes aus einem Location-Header zur Weiterleitung).
  • Mapping: Der Funktionstyp Mapping erlaubt dir, automatisch bestimmte Werte der Antwort mit spezifischen anderen Werten zu ersetzen. Wenn zum Beispiel ein Endpunkt die Begriffe „error“/“ok“ (wie etwa Uptrends‘ eigene API) nutzt, während der nächste, mit dem eine Interaktion erfolgt, die Begriffe „incident“/„healthy“ erwartet, kannst du die Mapping-Funktion nutzen, um diese Werte automatisch auf die richtigen Äquivalente anzupassen.

Benutzerdefinierte Funktionen erstellen

Du kannst eine benutzerdefinierte Integration entweder auf der Registerkarte Schritte des Prüfobjekts Multi-Step API oder auf der Registerkarte Anpassungen deiner (benutzerdefinierten) Integrationen erstellen.

Hinweis: Eine benutzerdefinierte Funktion gilt speziell für das bestimmte Multi-Step API-Prüfobjekt, für das du sie eingerichtet hast. Sie wird nicht in anderen Prüfobjekten oder Integrationen übernommen.
  1. Auf der Registerkarte Schritte in einem deiner Multi-Step API-Prüfobjekte oder auf der Registerkarte Anpassungen bei deinen (benutzerdefinierten) Integrationen findest du die benutzerdefinierten Funktionen am Ende der Seite.

  2. Klicke auf + Funktion hinzufügen , um eine neue Funktion einzurichten.

  3. Wähle den entsprechenden Funktionstyp: Mapping oder regulärer Ausdruck. Gib dann der Funktion einen angemessenen Namen – wir empfehlen etwas Einfaches ohne Leerstellen, da du dich später darauf beziehen musst.

  4. Füge im Falle einer Mapping-Funktion die einzelnen erforderlichen Zuweisungen hinzu. Die Mapping-Funktion übersetzt die „Von“-Werte in die zugehörigen „Zu“-Werte.

    Gib für die Funktion „Regulärer Ausdruck“ den erforderlichen regulären Ausdruck an. Der Regex wird mit dem Eingabetext abgeglichen und kann verwendet werden, um einen bestimmten Teil der Eingabe zu extrahieren.

Du kannst bei Bedarf weitere Funktionen durch Wiederholen dieser Schritte hinzufügen.

Verwendung deiner Funktionen

Um deine neu festgelegten benutzerdefinierten Funktionen einzusetzen, musst du die Variablen, mit der die Funktion interagieren soll, in die Funktionsreferenz einbinden: {{userDefinedFunction({{variableReference}})}}. Sehen wir uns als Beispiel eine Mapping-Funktion an, deren Zweck es ist, eingehende Antwortdaten von „Error“ nach „Incident“, von „Warning“ nach „Unhealthy“ und von „Ok“ nach „Healthy“ zu übersetzen, sodass der in den folgenden Schritten aufgerufene Endpunkt Begriffe erhält, die er versteht. In diesem Beispiel:

  • Eine benutzerdefinierte Funktion, wie sie in der Abbildung oben zu sehen ist, wurde mit Namen errorMapping erstellt.
  • Der Endpunkt sendet eine JSON-formatierte Antwort mit dem Feld “Status“, mit dem die Werte „Error“, „Warning“ oder „Ok“ übermittelt werden.
  • Im folgenden Schritt möchten wir diese Statusdaten an eine andere API weiterleiten. Diese neue API versteht aber die verwendeten Begriffe nicht und erfordert stattdessen die Werte „Incident“, „Unhealthy“ oder „Healthy“.

Um die Funktion errorMapping für die automatische Übersetzung der Statuswerte in die richtigen Werte zu verwenden, folge diesen Schritten:

  1. Extrahiere wie gewohnt den Wert des „Status“-Feldes aus den Antwortdaten (siehe Leitfaden zur Einrichtung von Multi-Step Monitoring-Variablen). In diesem Beispiel trägt die sich ergebende Variable den Namen statusRaw. Und wie beschrieben enthält diese Variable „Error“/„Warning“/„Ok“.
  2. Klicke zunächst auf Variable hinzufügen , um die benutzerdefinierte Funktion anzuwenden.
  3. Setze die Variablenquelle (die Drop-down-Liste links) auf Funktion ausführen.
  4. Gib für den Funktionsausdruck die Variablenreferenz wie oben beschrieben in die Funktion ein: {{errorMapping({{statusRaw}})}}
  5. Der sich ergebende Wert lautet entweder „Incident“, „Unhealthy“ oder „Healthy“, abhängig davon, welcher Wert mit der Variable statusRaw eingegangen ist. Im Feld Name der Variable gibst du einen Namen für den Ausgabewert ein.

Nun haben wir einen neuen Wert, Status, erstellt, dessen Wert entweder „Incident“, „Unhealthy“ oder „Healthy“ lautet. In den folgenden Schritten können wir uns auf diese Variable in der regulären Notation (z. B. {{status}}) beziehen. In diesem Beispiel haben wir eine Mapping-Funktion verwendet. Die Schritte für eine RegEx-Funktion sind jedoch gleich.

Durch die Nutzung dieser Website stimmen Sie der Verwendung von Cookies gemäß unserer Cookie-Richtlinien zu.