Dokumentation: Flowy Steps
Flowy Steps
Steps sind einzelne Workflow-Elemente, die eine schnelle und effektive Konfiguration von Workflows ermöglichen.
Jeder Step hat, unabhängig von seinem Typ, einige grundlegende Eigenschaften:
| Name | Beschreibung |
|---|---|
| Step ID | Eine automatisch vergebene ID, die einem Step innerhalb eines Prozesses eindeutig zugewiesen wird. |
| Name | Legt den Namen des Steps fest. |
| Visual ID | Eine eindeutige ID, die ausschließlich vom Flowy-Frontend vergeben wird, um die Prozessvisualisierung übersichtlicher zu gestalten. |
| Enabled | Nur aktive Steps werden während der Ausführung verarbeitet. |
| Cache storage | Legt fest, ob der Cache persistiert werden soll. Bitte beachten Sie, dass diese Einstellung von der gleichen Einstellung auf Prozessebene abhängt. Der Cache wird nur persistiert, wenn das Logging aktiviert ist. |
| Logging | Legt fest, ob Logs persistiert werden sollen. Bitte beachten Sie, dass diese Einstellung von der gleichen Einstellung auf Prozessebene abhängt. |
Flowy unterstützt standardmäßig die folgenden Step-Typen:
- Code Steps: ermöglichen die Erstellung von manuellem Code, z. B.
JavaScriptoderGroovy - Control Steps: dazu gehören Steps wie
For Each,WhileundUnset Variable, mit denen der Ablauf gesteuert werden kann - Input- und/oder Output-Steps: Steps, die Lese- und Schreibzugriffe ermöglichen, z. B.
JDBCoderREST - Plugin Steps: ermöglichen die Verwendung eigener oder über den Hub geteilter Plugins
Die folgenden Kapitel beschreiben die verschiedenen Step-Typen. Für jeden Step beschreibt eine Tabelle, wann der Cache und/oder Scripting verwendet werden kann.
AI Agent
Ruft einen AI-Agent-Prozess entweder synchron oder asynchron auf. Ermöglicht die Orchestrierung KI-gestützter Workflows innerhalb von Prozessen.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| aiAgentName | nein | nein |
| childEventIdPath | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| AiAgentProcessNotFoundException | Der angegebene AI Agent existiert nicht |
| InterruptProcessException | Die Prozessausführung wurde unterbrochen |
| ChildEventOfParentProcessNotFoundException | Das Child-Event konnte während der Überwachung nicht gefunden werden |
| ChildProcessTimeoutException | Die Ausführung des AI Agents hat das Timeout überschritten |
| ProcessDisabledException | Der AI-Agent-Prozess ist inaktiv/deaktiviert |
Claude
Ermöglicht die Verwendung von Claude.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| scriptEngine | nein | nein |
| credentialName | nein | nein |
| model | nein | nein |
| maxTokens | nein | nein |
| temperature | nein | nein |
| system | nein | nein |
| messages.role | nein | nein |
| messages.content | ja | ja |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| AnthropicException | Wird bei Fehlern auf Seiten von Anthropic ausgelöst, etwa bei einem ungültigen API-Schlüssel, unzureichendem Guthaben oder anderen dienstbezogenen Problemen. |
ChatGPT
Ermöglicht die Verwendung von ChatGPT.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| scriptEngine | nein | nein |
| credentialName | ja | nein |
| model | nein | nein |
| messages.role | nein | nein |
| messages.content | ja | ja |
| targetObject | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| JsonProcessingException | Bei allen Problemen bei der Verarbeitung (Parsen, Generieren) von JSON-Inhalten, die keine reinen I/O-Probleme sind. |
CloudFront
Ermöglicht die Verwendung von CloudFront.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| credentialName | ja | nein |
| action.CREATE | ||
| fields.domainName | ja | nein |
| fields.domainId | ja | nein |
| fields.distributionComment | nein | nein |
| fields.targetObject | ja | nein |
| action.LIST | ||
| fields.targetObject | ja | nein |
| action.UPDATE | ||
| fields.distributionId | ja | nein |
| fields.distributionComment | nein | nein |
| fields.targetObject | ja | nein |
| action.DELETE | ||
| fields.targetObject | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| CloudFrontException | Bei allen Problemen mit dem AWS-CloudFront-Dienst. |
Counter
Bietet eine komfortable Möglichkeit, Zähler zu verwalten. Abhängig von der ausgewählten Action wird der Wert entweder um eins erhöht oder um eins verringert.
Existiert die Variable nicht, wird sie auf einen Standardwert gesetzt:
- bei Inkrement: 1
- bei Dekrement: 0
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| targetObject | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| MappingException | Wird ausgelöst, wenn targetObject auf einen nicht numerischen Wert verweist. |
Credential
Ermöglicht das Erstellen, Ändern bzw. Aktivieren/Deaktivieren von Credentials zur Laufzeit von Prozessen.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| fields.targetObject | ja | nein |
| fields.type | nein | nein |
| fields.name | ja | nein |
| fields.roles | ja | nein |
| fields.values.* | ja | nein |
| fields.queryName | ja | nein |
Dieser Step löst keine Exceptions aus.
CSV File
Dieser Step ermöglicht die komfortable Erstellung von CSV-Dateien auf Basis dynamischer Daten. Die Unterstützung von JSONPath macht ihn besonders leistungsfähig, da komplexe Datenstrukturen dadurch bequem in CSV umgewandelt werden können.
Darüber hinaus ist auch die umgekehrte Konvertierung von CSV nach JSON problemlos möglich.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| targetObject | ja | nein |
| source | ja | nein |
| filters | ja | nein |
| includeHeaders | nein | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| IOException | Die IOException ist schlicht eine Exception, die bei einem I/O-Fehler ausgelöst wird. |
| InvalidCsvSourceStepException | Bei der Action JSON_TO_CSV muss source ein Array sein, die Action CSV_TO_JSON erfordert source als String. |
DeepSeek
Ermöglicht die Verwendung von DeepSeek.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| scriptEngine | nein | nein |
| credentialName | nein | nein |
| model | nein | nein |
| temperature | nein | nein |
| maxTokens | nein | nein |
| topP | nein | nein |
| frequencyPenalty | nein | nein |
| presencePenalty | nein | nein |
| messages.role | nein | nein |
| messages.content | ja | ja |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| HttpClientErrorException | Wird bei Fehlern auf Seiten von Deep Seek ausgelöst, etwa bei einem ungültigen API-Schlüssel, unzureichendem Guthaben oder anderen anfragebezogenen Problemen. |
Do Until
Führt eine Reihe von Steps wiederholt aus und wertet anschließend eine Bedingung aus. Die Schleife läuft, bis die Bedingung zu true ausgewertet wird. Es handelt sich um eine Schleife mit Nachprüfung: Die Steps werden also immer mindestens einmal ausgeführt, bevor die Bedingung geprüft wird.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| scriptEngine | nein | nein |
| query | ja | ja |
| steps | nein | nein |
Do While
Dieser Step stellt eine Schleife bereit, die mindestens einmal ausgeführt wird, bevor die Bedingung geprüft wird. Anders als beim While-Step werden zuerst die Steps innerhalb der Schleife ausgeführt und erst danach die Query-Bedingung ausgewertet. Die Schleife läuft weiter, solange die Bedingung wahr ist.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| scriptEngine | nein | nein |
| query | ja | ja |
| steps | nein | nein |
Encoder
Dieser Step bietet ein vielseitiges Werkzeug zum Kodieren und Dekodieren. Damit lässt sich die Zeichenkodierung von Text ändern, es können HTML-Sonderzeichen kodiert sowie URL-Kodierung und -Dekodierung durchgeführt werden. Er unterstützt eine Vielzahl von Zeichenkodierungen und stellt sicher, dass Web-Inhalte sicher für die Anzeige oder Übertragung vorbereitet werden.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| converts | nein | nein |
| converts.sourceObject | ja | nein |
| converts.targetObject | ja | nein |
| converts.sourceEncoding | nein | nein |
| converts.targetEncoding | nein | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| IllegalArgumentException | SourceObject und/oder targetObject ist kein gültiger String. |
ESC/POS converter
Dieser Step ermöglicht die Konvertierung eines Bildes in das ESC/POS-Format.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| sourceObject | ja | nein |
| targetObject | ja | nein |
Execute External Command
Dieser Step ermöglicht die Ausführung anderer Anwendungen. Daten können sowohl über Kommandozeilenparameter als auch über die Standardeingabe übergeben werden. Als Ergebnis stellt er den Rückgabecode, die Standardausgabe sowie die Fehlerausgabe bereit.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| input | ja | ja |
| command | ja | ja |
| resultCode | ja | nein |
| resultErrors | ja | nein |
| targetObject | ja | nein |
| timeout | nein | nein |
Information
Ein abschließendes Semikolon (;) am Ende des Befehls ist nicht erforderlich.
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| IOException | Die IOException ist schlicht eine Exception, die bei einem I/O-Fehler ausgelöst wird. |
| TimeoutException | Wird ausgelöst, wenn das Timeout erreicht wird. |
Execute Parallel Steps
Führt mehrere Batches von Steps gleichzeitig aus und ermöglicht so parallele Verarbeitungs-Workflows. Jeder Batch läuft unabhängig in einem eigenen Thread, während die Steps innerhalb eines Batches nacheinander ausgeführt werden. Alle Batches müssen abgeschlossen sein, bevor der Step endet.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| batches.name | nein | nein |
| batches.input | nein | nein |
| batches.steps | nein | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| BatchExecutionException | Wird bei der Batch-Ausführung ausgelöst, wenn eine unerwartete Nicht-Runtime-Exception oder ein Fehler auftritt. |
Information
Während Batches parallel laufen, werden die Steps innerhalb eines Batches nacheinander ausgeführt. Das bedeutet: Ein Batch mit zwei Steps schließt den ersten Step ab, bevor er den zweiten startet.
Execute Process
Dieser Step ermöglicht die Ausführung anderer Flowy-Prozesse. Die Ausführung kann in vier Modi erfolgen:
- inline,
- synchron,
- asynchron und
- embedded.
Bei der Inline-Ausführung werden die referenzierten Child-Prozesse synchron im Ausführungskontext des Parents ausgeführt, ähnlich wie Funktionen in vielen Programmiersprachen. Der Parent wartet, bis der Child abgeschlossen ist, und übernimmt dessen Ergebnisse in seinen eigenen Cache. Input- und Output-Mapping werden unterstützt. In diesem Fall werden die Timeout- und Ausführungseinstellungen der Child-Prozesse ignoriert. Dies ist die Standardwahl für die gewöhnliche synchrone Komposition: Immer wenn der Parent die Ausgabe des Sub-Prozesses benötigt, um fortzufahren - zum Beispiel beim Aufruf eines Validierungsprozesses und der anschließenden Verzweigung anhand dessen Ergebnisses -, sollte zuerst Inline verwendet werden.
Bei der synchronen Ausführung wartet der Parent-Prozess ebenfalls auf das Ergebnis, der Child läuft jedoch als eigenständiges synchrones Event und nicht innerhalb der eigenen Ausführung des Parents. Dadurch erhält der Sub-Prozess einen eigenen, separaten Ausführungseintrag, während der Parent weiterhin blockiert wird, bis dieser abgeschlossen ist. Eingabewerte können an die Children übergeben werden (Input-Mapping) und Ausgabewerte von ihnen empfangen werden (Output-Mapping).
Bei der asynchronen Ausführung werden die auslösenden Events für die Children als unabhängige Child-Events erzeugt und der Parent-Prozess läuft sofort weiter, ohne zu warten (Fire-and-Forget). In diesem Modus können Daten nur über das Input-Mapping an die Child-Prozesse übergeben werden. Verwenden Sie ihn, wenn die Arbeit im Hintergrund erfolgen kann und der Parent das Ergebnis nicht sofort benötigt, oder wenn Sie mehrere Sub-Prozesse starten und später mit einem Wait-Step zusammenführen möchten (siehe unten). Erfassen Sie die Kennung jedes von diesem Step erzeugten Child-Events (über childEventIdPath), damit Sie anschließend darauf warten können.
Es ist wichtig zu beachten, dass sowohl synchrone als auch asynchrone Ausführungen bestimmte Einstellungen wie die maximale Verarbeitungsdauer und die maximale Anzahl gleichzeitiger Ausführungen einhalten. Eine sorgfältige Planung der Parent-Child-Ausführungen und Anpassungen anhand der verfügbaren Ressourcen werden empfohlen.
Bei der Embedded-Ausführung verhält sich der Child wie bei Inline - er läuft synchron innerhalb des Parents und wartet auf dessen Ergebnis -, erzeugt aber bewusst kein Ausführungs-Log. Da der Aufwand für das Persistieren von Ausführungs- und Cache-Daten des Aufrufs entfällt, ergibt sich ein deutlicher Performancegewinn, wodurch sich dieser Modus gut für Hot Paths und produktive Workloads mit hohem Volumen eignet. Der Nachteil: Der Ausführungsverlauf geht verloren und der Aufruf kann nicht über die Log- und Debug-Ansicht analysiert werden. Verwenden Sie ihn daher nur dann, wenn der Ausführungsverlauf tatsächlich keine Rolle spielt.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| processName | nein | nein |
| action | nein | nein |
| input | ja | nein |
| output | ja | nein |
| childEventIdPath | ja | nein |
| priority | nein | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| ChildProcessNotFoundException | Der Child-Prozess wurde nicht gefunden. |
| ChildEventOfParentProcessNotFoundException | Das Child-Event für den Parent-Prozess wurde nicht gefunden. |
| ChildProcessTimeoutException | Der Child-Prozess des Parent-Prozesses ist in ein Timeout gelaufen. |
| ProcessDisabledException | Der Child-Prozess des Parent-Prozesses wurde deaktiviert. |
Flowy Cache
Bietet Möglichkeiten, auf Variablen aus dem Flowy Cache zuzugreifen; dies wird für große Dateien benötigt.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| sourceObject | ja | nein |
For Each
Dieser Step bietet eine einfache Möglichkeit, Operationen mehrfach auszuführen. Dazu muss eine Query-Bedingung definiert werden. Für jeden gefundenen Datensatz wird die Schleife einmal ausgeführt.
Record Name definiert den Variablennamen, über den auf den aktuell zu verarbeitenden Datensatz zugegriffen werden kann.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| query | ja | nein |
| steps | nein | nein |
| recordName | ja | nein |
Formatting
Ermöglicht die Formatierung von Zahlen in das gewünschte Format.
Informationen zu Patterns bzw. Locales finden Sie unter den angegebenen Links.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| converts.sourceObject | ja | nein |
| converts.targetObject | ja | nein |
| fields.locale | nein | nein |
| fields.pattern | nein | nein |
| fields.groupingSeparator | ja | nein |
| fields.decimalSeparator | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| IllegalArgumentException | Bei falschem Pattern oder ungültigen Eingabedaten. |
FTP/SFTP
Ermöglicht die Kommunikation mit FTP- bzw. SFTP-Servern.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | nein | nein |
| path | ja | nein |
| action | nein | nein |
| targetObject | ja | nein |
| oldPath | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| CacheObjectCastException | Wenn die referenzierte Variable einen ungültigen Wert enthält (z. B. eine Map oder ein Array am targetObject-Pfad). |
| IOException | Die IOException ist schlicht eine Exception, die bei einem I/O-Fehler ausgelöst wird. |
| FtpException | Bei allen Problemen mit dem FTP/SFTP-Dienst. |
GraphQL
Ermöglicht deklaratives Abrufen von Daten mit der Abfragesprache GraphQL aus http(s)-Quellen (unter Verwendung von REST-Credentials).
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | nein | nein |
| targetUrl | ja | ja |
| headers | ja | ja |
| query | nein | nein |
| variables | ja | ja |
| targetObject | ja | nein |
| responseCode | ja | nein |
| timeout | nein | nein |
Es ist möglich, auf ein REST-Credential zu verweisen. In diesem Fall können die in diesem Credential definierten Felder im Format #name innerhalb der Felder headers, variables und targetUrl verwendet werden.
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| JsonProcessingException | Bei allen Problemen bei der Verarbeitung (Parsen, Generieren) von JSON-Inhalten, die keine reinen I/O-Probleme sind. |
| IllegalArgumentException | Der angegebene URL-String ist keine gültige URI. |
Groovy
Der Groovy-Step bietet eine leistungsfähige Möglichkeit, Groovy-Code direkt innerhalb eines Prozesses auszuführen. Dieser Code kann beliebig viele Zeilen enthalten. Das Ergebnis wird in der Variablen mit dem definierten Namen gespeichert.
Der Step garantiert keine bestimmte Ausführungsreihenfolge. Verwenden Sie mehrere Steps, wenn Ihr Workflow davon abhängt.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| libraryName | nein | nein |
| set | ja | ja |
| credentialName | nein | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| MultipleCompilationErrorsException or CompilationFailedException | Wird ausgelöst, wenn die Kompilierung aufgrund von Quelltextfehlern fehlschlägt. |
| MissingPropertyException | Tritt auf, wenn ein dynamischer Property-Aufruf mit einer unbekannten Property fehlschlägt. |
| MissingClassException | Tritt auf, wenn ein dynamischer Methodenaufruf mit einer unbekannten Klasse fehlschlägt. |
| MissingFieldException | Tritt auf, wenn ein dynamischer Feldaufruf mit einem unbekannten Feld fehlschlägt. |
| MissingMethodException | Tritt auf, wenn ein dynamischer Methodenaufruf mit einer unbekannten Methode fehlschlägt. |
| GroovyRuntimeException | Eine vom Interpreter ausgelöste Exception. |
| StringWriterIOException | Beim Anhängen an einen StringWriter ist eine IO-Exception aufgetreten, was nie vorkommen sollte. |
iCalendar
Ermöglicht die Erstellung einer Datei im iCalendar-Format.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| organizer | ja | nein |
| summary | ja | nein |
| description | ja | nein |
| startTime | ja | nein |
| endTime | ja | nein |
| participants.name | ja | nein |
| participants.email | ja | nein |
| alarm.alarmTime | ja | nein |
| alarm.alarmDescription | ja | nein |
| recurrence.frequency | ja | nein |
| recurrence.frequencyInterval | ja | nein |
| status | ja | nein |
| url | ja | nein |
| location | ja | nein |
| targetObject | ja | nein |
If
Dieser Step ermöglicht die bedingte Ausführung von Steps auf Basis einer einzelnen Bedingung. Die Bedingung wird einmal ausgewertet und, wenn sie zu true ausgewertet wird, werden die Steps innerhalb des If-Blocks ausgeführt. Die Bedingung kann in der ausgewählten Skriptsprache formuliert werden.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| scriptEngine | nein | nein |
| condition | ja | ja |
| steps | nein | nein |
Image
Der Image-Step bietet Funktionen zum Herunterladen und Bearbeiten von Bildern. Er bietet folgende Actions:
- Convert: konvertiert Bilder von ihrem aktuellen Dateiformat in ein anderes
- Crop: schneidet ein Rechteck aus einem Bild aus
- Download: lädt ein Bild von einer URL
- From template: erzeugt ein Bild auf Basis einer ausgewählten Vorlage
- Info: liefert Details zum Bild für die Weiterverarbeitung
- Rescale: passt Breite und/oder Höhe des Bildes an
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| targetObject | ja | nein |
| fields.source | ja | nein |
| fields.type | nein | nein |
| fields.height | ja | ja |
| fields.width | ja | ja |
| fields.positionX | ja | ja |
| fields.positionY | ja | ja |
| fields.variables | ja | nein |
| fields.locale | nein | nein |
| fields.textTemplate | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Action | Name | Beschreibung |
|---|---|---|
| All | IOException | Die IOException ist schlicht eine Exception, die bei einem I/O-Fehler ausgelöst wird. |
| Download | MalformedURLException | Wird ausgelöst, um anzuzeigen, dass eine fehlerhafte URL aufgetreten ist. Entweder konnte in einem Spezifikations-String kein gültiges Protokoll gefunden werden oder der String konnte nicht geparst werden. |
| From Template | XRRuntimeException | Eine Exception des HTML-Renderers. |
Imap
Der Imap-Step bietet Methoden zur Verarbeitung von E-Mails, die über das IMAP-Protokoll zugänglich sind. Dies wird von allen modernen E-Mail-Servern und -Anbietern unterstützt.
Wenn Sie E-Mails versenden möchten, lesen Sie bitte den SMTP-Step.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | nein | nein |
| action | nein | nein |
| folder | ja | ja |
| fields.targetObject | ja | nein |
| fields.sender | ja | ja |
| fields.recipient | ja | ja |
| fields.subject | ja | ja |
| fields.body | ja | ja |
| fields.readType | nein | nein |
| fields.maxResults | nein | nein |
| fields.emailId | ja | ja |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| NoSuchProviderException | Diese Exception wird ausgelöst, wenn Session versucht, einen Provider zu instanziieren, der nicht existiert. |
| MessagingException | Die Basisklasse für alle von den Messaging-Klassen ausgelösten Exceptions. |
| ImapMessageNotFoundException | Die Nachricht wurde nicht gefunden. |
JDBC
Mit dem Wert ConnectionTimeout im JDBC-Credential können Sie die maximale Anzahl an Millisekunden festlegen, die das System auf eine Verbindung aus dem Pool wartet. Wird diese Zeit überschritten, ohne dass eine Verbindung verfügbar wird, wird eine SQLException ausgelöst.
Das niedrigste zulässige Connection-Timeout beträgt 250 ms, der Standardwert 30000 ms (30 Sekunden).
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| credentialName | nein | nein |
| query | ja | nein |
| targetObject | ja | nein |
Der JDBC-Step verfügt über integrierte Methoden für die komfortable Verwendung von Variablen. Im Einzelnen:
| Method | Beschreibung | Example usage |
|---|---|---|
| f_array | Wandelt die angegebene Cache-Variable in ein Array mit eckigen Klammern um; eine Cache-Variable mit dem Inhalt [1, 2, 3, 4] wird zu array[1, 2, 3, 4] | SELECT * FROM user WHERE id = ANY(f_array($.userids)) |
| f_list | Wandelt die angegebene Cache-Variable in ein Array mit runden Klammern um; eine Cache-Variable mit dem Inhalt [1, 2, 3, 4] wird somit zu (1, 2, 3, 4) | SELECT * FROM user WHERE id IN f_list($.ids) |
| f_list_in | Behandelt listenbasierte Bedingungen in JDBC-Abfragen. Es stellt sicher, dass die übergebene Liste weder NULL noch leer ist, bevor eine gültige SQL-Klausel erzeugt wird. Enthält die Liste Werte, fügt die Funktion der Abfrage eine IN-Bedingung hinzu. Ist die Liste NULL oder leer, liefert sie eine neutrale Bedingung, die die Ergebnisse nicht filtert, und umgeht damit effektiv die IN-Klausel. | SELECT * FROM test t WHERE t.name = 'test' AND f_list_in(t.id, $.array) |
| f_query | Mit dem Query-Builder-Step lassen sich dynamische Abfragebedingungen einfach vorbereiten. Die Methode f_query ermöglicht die Verwendung dynamischer Bedingungen, die auf der Interpretation von Variablen beruhen | SELECT * FROM records WHERE f_query($.mycondition) |
Abfragen können im folgenden Format eingegeben werden:
// pass condition generated using Query Builder:
SELECT * FROM tbl f_query($.queryCondition)"
// combine dynamic conditions generated using Query Builder with an additional variable:
SELECT * FROM tbl WHERE f_query($.queryCondition) AND date = $.d"
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| SQLException | Allgemeine SQL-Exception. |
| NotSingleResultException | Diese Exception wird ausgelöst, wenn die Ergebnismenge mehr als einen Datensatz enthält, obwohl ein einzelnes Ergebnis erwartet wurde. |
Jira
Ermöglicht die Integration mit Atlassian Jira für die Issue-Verwaltung, einschließlich Erstellen, Aktualisieren, Suchen und Transitionieren von Issues.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| credentialName | ja | nein |
| targetObject | nein | nein |
| fields.projectKey | ja | nein |
| fields.issueType | ja | nein |
| fields.summary | ja | nein |
| fields.description | ja | nein |
| fields.assignee.accountId | ja | nein |
| fields.assignee.email | ja | nein |
| fields.assignee.createUserIfNotExists | nein | nein |
| fields.reporter.accountId | ja | nein |
| fields.reporter.email | ja | nein |
| fields.reporter.createUserIfNotExists | nein | nein |
| fields.labels | ja | nein |
| fields.components | ja | nein |
| fields.parent | ja | nein |
| fields.customFields | nein | nein |
| fields.addLabels | ja | nein |
| fields.removeLabels | ja | nein |
| fields.transitionId | ja | nein |
| fields.comment | ja | nein |
| fields.jql | ja | nein |
| fields.maxResults | ja | nein |
| fields.nextPageToken | ja | nein |
| fields.fields | ja | nein |
| fields.expand | ja | nein |
| fields.file | ja | nein |
| fields.filename | ja | nein |
| fields.email | ja | nein |
| fields.timeSpentSeconds | ja | nein |
| fields.started | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| UserNotFoundException | Der Benutzer mit der angegebenen E-Mail-Adresse wurde nicht gefunden und createUserIfNotExists ist false |
| RestClientException | HTTP-Fehler der Jira-API (z. B. 401 unauthorized, 404 not found, 400 bad request) |
| SecurityManagerException | Jira-Credentials nicht gefunden oder deaktiviert |
JavaScript
Der JavaScript-Step bietet eine leistungsfähige Möglichkeit, JavaScript-Code direkt innerhalb eines Prozesses zu verwenden. Dieser Code kann beliebig viele Zeilen enthalten. Das Ergebnis wird in der Variablen mit dem definierten Namen gespeichert.
Der Step garantiert keine bestimmte Ausführungsreihenfolge. Verwenden Sie mehrere Steps, wenn Ihr Workflow davon abhängt.
Aufgrund von Einschränkungen der JavaScript-Engine ist es nicht möglich, einer Variablen direkt einen Objektwert zuzuweisen. Stattdessen sollte der folgende Ansatz verwendet werden:
X = 123
Dieses Skript muss anschließend auf die gewünschte Flowy-Variable gemappt werden, die den Inhalt von X enthalten soll.
Es ist möglich, Exceptions auszulösen und sie mit einem Try/Catch-Step auf folgende Weise abzufangen:
class CustomJsException extends Error { constructor(message) {
super(message);
this.name = this.constructor.name;
}
}
throw new CustomJsException("custom message");
Der Catch muss den Namen CustomJsException tragen, damit er in diesem Fall ausgelöst wird.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| libraryName | nein | nein |
| set | ja | ja |
| credentialName | nein | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| PolyglotException | Wird ausgelöst, wenn das Parsen oder Auswerten des JS-Codes fehlgeschlagen ist. |
| LibraryDisabledException | Wird ausgelöst, wenn eine referenzierte Library deaktiviert ist. |
| MissedLibraryArtifactException | Wird ausgelöst, wenn für die referenzierte Library kein Artifact hochgeladen wurde. |
| InvalidLibraryTypeException | Wird ausgelöst, wenn eine referenzierte Library einen ungültigen Typ hat. |
JSON
Der JSON-Step stellt eine Reihe von Operationen zum Transformieren und Abfragen von JSON-Objekten bereit, die im Prozess-Cache gespeichert sind. Er unterstützt folgende Funktionen:
- Evaluate - Wertet einen JSONata-Ausdruck gegen ein Quellobjekt aus und ermöglicht sowohl einfachen Property-Zugriff als auch fortgeschrittene Transformationen wie Filtern, Aggregieren und String-Verkettung.
- Merge - Führt einen Deep Merge von zwei oder mehr Objekten in der in
sourcesangegebenen Reihenfolge durch. Bei doppelten Schlüsseln auf beliebiger Verschachtelungsebene hat der Wert der letzten Quelle Vorrang. - Sort - Sortiert eine Liste von Objekten aufsteigend anhand des im Ausdruck angegebenen Feldes.
- Group - Gruppiert eine Liste von Objekten nach dem im Ausdruck angegebenen Feld. Das Ergebnis ist ein Objekt, bei dem jeder Schlüssel einen eindeutigen Feldwert darstellt und jeder Wert eine Liste der zugehörigen Einträge ist.
- Flatten - Wandelt ein verschachteltes Objekt in eine Map mit Schlüsseln in Punktnotation um.
- Unflatten - Rekonstruiert ein verschachteltes Objekt aus einer flachen Map mit Schlüsseln in Punktnotation.
- Compare - Vergleicht zwei Objekte und liefert ein strukturiertes Ergebnis mit vier Schlüsseln:
added- Schlüssel, die nur incompareObjectvorhanden sindremoved- Schlüssel, die nur inbaseObjectvorhanden sindchanged- Schlüssel, die in beiden Objekten vorhanden sind, aber unterschiedliche Werte haben (jeder Eintrag enthält die Unterschlüsselbaseundcompare)unchanged- Schlüssel mit identischen Werten in beiden Objekten
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| targetObject | ja | nein |
| fields.sourceObject | ja | nein |
| fields.expression | ja | nein |
| fields.sources | ja | nein |
| fields.baseObject | ja | nein |
| fields.compareObject | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| JException | Wird ausgelöst, wenn das Feld expression (Action: EVALUATE) einen syntaktisch ungültigen oder nicht auswertbaren JSONata-Ausdruck enthält. |
JWT
Der JWT-Step erzeugt ein JWT-Token auf Basis der angegebenen Werte.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | nein | nein |
| targetObject | ja | nein |
| payload | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| NoSuchAlgorithmException | Der erforderliche Algorithmus ist nicht verfügbar. |
| InvalidKeySpecException | Diese Exception tritt bei ungültigen Schlüsselspezifikationen auf. |
| InvalidKeyException | Wird ausgelöst, wenn der Schlüssel unzureichend ist oder von der JWT-Spezifikation für den angegebenen Algorithmus ausdrücklich nicht zugelassen wird. |
LaTeX
Erzeugt PDF-Dokumente aus LaTeX-Vorlagen mithilfe von Template-Engines. Der Step verarbeitet eine LaTeX-Vorlage mit Variablen, kompiliert sie mit pdflatex zu PDF und speichert die resultierende PDF-Datei im Cache.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| fields.textTemplate | ja | nein |
| fields.locale | nein | nein |
| fields.variables | ja | nein |
| targetObject | ja | nein |
Der LaTeX-Step unterstützt die folgenden Template-Engines zur Verarbeitung von Vorlagen:
- Handlebars
- Mustache
- Velocity
Dieser Step kann Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| TextTemplateException | Wird ausgelöst, wenn ein Step versucht, eine Vorlage zu verwenden, die nicht existiert. |
LDAP
Ermöglicht die Kommunikation mit LDAP-Servern.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| credentialName | ja | nein |
| action.BIND | ||
| fields.objectClassAttributes | nein | nein |
| fields.dn | nein | nein |
| fields.attributeValues.name | nein | nein |
| fields.attributeValues.value | nein | nein |
| action.SEARCH | ||
| fields.dn | nein | nein |
| fields.filter | nein | nein |
| fields.searchKey | nein | nein |
| fields.targetObject | ja | nein |
| action.MODIFY | ||
| fields.dn | nein | nein |
| fields.attributeValues.name | nein | nein |
| fields.attributeValues.value | nein | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| NestedRuntimeException | Bei jeglichen Problemen mit dem LDAP-Dienst. |
Log
Dieser Step schreibt einen gewünschten Eintrag ins Log; das ist hilfreich beim Debugging komplexer Prozesse.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| message | ja | nein |
MCP
Integriert Model-Context-Protocol-(MCP-)Server, um auf externe Tools, Ressourcen und Prompts zuzugreifen.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| credentialName | nein | nein |
| targetObject | ja | nein |
| fields.operation | ja | nein |
| fields.parameters | ja | nein |
| fields.uri | ja | nein |
| fields.name | ja | nein |
| fields.arguments | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| SecurityManagerException | Prozess-Credentials nicht gefunden oder deaktiviert |
| McpException | MCP-Operation fehlgeschlagen (Verbindungsfehler, Tool-Ausführungsfehler, Timeout) |
Messaging
Ermöglicht das Senden von Nachrichten an Kafka.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | nein | nein |
| service | nein | nein |
| message | ja | ja |
| messageKey | ja | ja |
Mongo DB
Für diesen Step müssen Sie die Details in einem Mongo-DB-Credential angeben. Innerhalb der URL können Sie connectTimeout und socketTimeout definieren:
- Das Connection-Timeout ist die Anzahl der Millisekunden, die der Treiber wartet, bevor ein neuer Verbindungsversuch abgebrochen wird
- Das Socket-Timeout ist die Anzahl der Millisekunden, die ein Senden oder Empfangen über einen Socket dauern darf, bevor es zu einem Timeout kommt
Information
Bitte beachten Sie, dass dieser Step-Typ auch für die Verbindung zu Amazon DocumentDB verwendet werden kann.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| credentialName | ja | nein |
| collectionName | nein | nein |
| query | ja | nein |
| projection | nein | nein |
| queryUpdate | ja | nein |
| targetObject | ja | nein |
Der Mongo-DB-Step verfügt über integrierte Methoden für die komfortable Verwendung von Variablen. Im Einzelnen:
| Method | Beschreibung | Example usage |
|---|---|---|
| f_query | Mit dem Query-Builder-Step lassen sich dynamische Abfragebedingungen einfach vorbereiten. Die Methode f_query ermöglicht die Verwendung dynamischer Bedingungen, die auf der Interpretation von Variablen beruhen | {f_query($.queryCondition)} |
Abfragen können im folgenden Format eingegeben werden:
// pass dynamic conditions generated using Query Builder offers two possibilites:
{$.queryCondition}
$.queryCondition
// combine dynamic query with static values
{$.queryCondition is_active: $.isActive, email: "user@mail.com"}
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| MongoException | Basisklasse für Mongo-Exceptions. Die genaue Exception hängt von den Mongo-Treibern ab und kann Folgendes umfassen: MongoChangeStreamException, MongoClientException, MongoConfigurationException, MongoSecurityException, MongoTimeoutException, MongoWaitQueueFullException, MongoExecutionTimeoutException, MongoGridFSException, MongoIncompatibleDriverException, MongoInternalException, MongoInterruptedException, MongoServerException, BulkWriteException, MongoBulkWriteException, MongoCommandException, MongoNodeIsRecoveringException, MongoNotPrimaryException, MongoQueryException, MongoCursorNotFoundException, MongoWriteConcernException, MongoWriteException, WriteConcernException, DuplicateKeyException, MongoSocketException, MongoSocketClosedException, MongoSocketOpenException, MongoSocketReadException, MongoSocketReadTimeoutException, MongoSocketWriteException |
OCR
Dieser Step ermöglicht die Verwendung von OCR.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| language | ja | nein |
| image | ja | nein |
| targetObject | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| TesseractException | Bei allen Problemen mit dem Tesseract-Dienst. |
| IOException | Wird ausgelöst, wenn ein I/O-Fehler auftritt. |
Outlook Calendar
Dieser Step ermöglicht die Verwaltung von Outlook-Terminen. Bitte beachten Sie, dass das Token nach der Authentifizierung im Storage abgelegt wird, wobei die Prozess-ID und der Credential-Name als Schlüssel dienen.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | ja | nein |
| action | nein | nein |
| action.CREATE | ||
| fields.subject | ja | nein |
| fields.subject | ja | nein |
| fields.body.contentType | ja | nein |
| fields.body.content | ja | nein |
| fields.start.dateTime | ja | nein |
| fields.start.timeZone | ja | nein |
| fields.end.dateTime | ja | nein |
| fields.end.timeZone | ja | nein |
| fields.location | ja | nein |
| fields.attendees.address | ja | nein |
| fields.attendees.name | ja | nein |
| fields.attendees.type | ja | nein |
| fields.reminderMinutesBeforeStart | ja | nein |
| fields.recurrence.pattern | ja | nein |
| fields.recurrence.range | ja | nein |
| fields.calendarId | ja | nein |
| fields.userId | ja | nein |
| fields.targetObject | ja | nein |
| action.LIST | ||
| fields.calendarId | ja | nein |
| fields.targetObject | ja | nein |
| fields.userId | ja | nein |
| action.UPDATE | ||
| fields.eventId | ja | nein |
| fields.subject | ja | nein |
| fields.body.contentType | ja | nein |
| fields.body.content | ja | nein |
| fields.start.dateTime | ja | nein |
| fields.start.timeZone | ja | nein |
| fields.end.dateTime | ja | nein |
| fields.end.timeZone | ja | nein |
| fields.location | ja | nein |
| fields.attendees.address | ja | nein |
| fields.attendees.name | ja | nein |
| fields.attendees.type | ja | nein |
| fields.reminderMinutesBeforeStart | ja | nein |
| fields.recurrence.pattern | ja | nein |
| fields.recurrence.range | ja | nein |
| fields.calendarId | ja | nein |
| fields.userId | ja | nein |
| fields.targetObject | ja | nein |
| action.DELETE | ||
| fields.eventId | ja | nein |
| fields.calendarId | ja | nein |
| fields.userId | ja | nein |
| action.AUTH | ||
| fields.expiresIn | nein | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| JsonProcessingException | Bei allen Problemen bei der Verarbeitung (Parsen, Generieren) von JSON-Inhalten, die keine reinen I/O-Probleme sind. |
Paymentsense Connect-E
Dieser Step ermöglicht die Verwendung der von Paymentsense bereitgestellten Connect-E-API.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| credentialName | nein | nein |
| targetObject | ja | nein |
| create access token parameters | nein | nein |
| cross reference payment parameters | nein | nein |
| parameters.accessToken | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| RestClientException | Eine RestClientException wird ausgelöst, wenn eine Anfrage aufgrund einer Server-Fehlerantwort, eines Fehlers beim Dekodieren der Antwort oder eines I/O-Fehlers auf niedriger Ebene fehlschlägt. |
Paymentsense PAC
Dieser Step ermöglicht die Verwendung der von Paymentsense bereitgestellten PAC-API.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| credentialName | nein | nein |
| targetObject | ja | nein |
| parameters.terminalId | ja | nein |
| parameters.reportType | nein | nein |
| parameters.requestId | ja | nein |
| parameters.accepted | nein | nein |
| parameters.transaction.* | nein | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| RestClientException | Eine RestClientException wird ausgelöst, wenn eine Anfrage aufgrund einer Server-Fehlerantwort, eines Fehlers beim Dekodieren der Antwort oder eines I/O-Fehlers auf niedriger Ebene fehlschlägt. |
Dieser Step ermöglicht die Erstellung von PDF-Dateien. Dazu verwendet er eine Vorlage, an die Variablen im üblichen Format übergeben werden können. Details zum Ausgabeformat und weitere Fragen finden Sie unter Flyingsaucerproject.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| fields.textTemplate | ja | nein |
| fields.locale | nein | nein |
| fields.variables | ja | nein |
| fields.sourceObject | ja | nein |
| fields.pageNumber | ja | nein |
| targetObject | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| IOException | Signalisiert, dass eine I/O-Exception irgendeiner Art aufgetreten ist. Diese Klasse ist die allgemeine Klasse für Exceptions, die durch fehlgeschlagene oder unterbrochene I/O-Operationen entstehen. |
| DocumentException | Exception bei der PDF-Erzeugung. |
| IndexOutOfBoundsException | Signalisiert, dass die Seitenzahl die Dokumentlänge überschreitet. |
Plugin
Ermöglicht die Verwendung selbst entwickelter Plugins.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | ja | nein |
| pluginName | nein | nein |
| pluginSettingName | nein | nein |
| pluginCredentialName | nein | nein |
| input | ja | nein |
| output | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| PluginDisabledException | Das Plugin wurde deaktiviert. |
| PluginNotFoundException | Das Plugin wurde nicht gefunden. |
| PluginSettingDisabledException | Die Plugin-Einstellung wurde deaktiviert. |
| PluginSettingNotFoundException | Die Plugin-Einstellung wurde nicht gefunden. |
| BundleException | Exception, die anzeigt, dass ein Problem im Lebenszyklus eines Bundles aufgetreten ist. |
| ClassNotFoundException | Wird ausgelöst, wenn eine Anwendung versucht, eine Klasse über ihren String-Namen zu laden, aber keine Definition für eine Klasse mit dem angegebenen Namen gefunden werden konnte. |
| NoSuchMethodException | Wird ausgelöst, wenn eine bestimmte Methode nicht gefunden werden kann. |
| InvocationTargetException | Eine Checked Exception, die eine von einer aufgerufenen Methode oder einem Konstruktor ausgelöste Exception kapselt. |
Process Settings
Ermöglicht die Verwendung generischer Einstellungen. Dies ist nützlich, um Unterschiede zwischen Flowy-Umgebungen zu verwalten.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| processSettingName | nein | nein |
| targetObject | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| ProcessSettingsDisabledException | Die Prozess-Einstellung wurde deaktiviert. |
| ProcessSettingsNotFoundException | Die Prozess-Einstellung wurde nicht gefunden. |
Python
Der Python-Step ermöglicht mithilfe der Bibliothek Jep die Ausführung von Python-Code. Jep steht für Java Embedded Python und integriert CPython über das Java Native Interface (JNI) in Java. Durch die Verwendung des nativen Python-Interpreters ist dieser Ansatz hinsichtlich der Geschwindigkeit alternativen Methoden deutlich überlegen.
Darüber hinaus bietet Jep Zugriff auf hochwertige Python-Module, sowohl native CPython-Erweiterungen als auch Python-basierte Module. Es arbeitet plattformübergreifend, was seine Vielseitigkeit erhöht. Zu beachten ist jedoch, dass eine lokale Python-Installation erforderlich ist, damit es funktioniert.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| libraryName | nein | nein |
| set | ja | ja |
| credentialName | nein | nein |
Bitte beachten Sie, innerhalb von set gilt:
execution(optional): der Code, der ausgeführt werden soll; kann kein Ergebnis zurückgebenresult(erforderlich): muss Code enthalten, der ein Ergebnis zurückgibt
Werden beide Werte angegeben, werden beide in der oben aufgeführten Reihenfolge ausgeführt.
Beispiel 1:
# execution:
a = 2
b = 5
c = a + b
# result:
c
Beispiel 2 (gleiches Ergebnis wie oben):
# execution:
a = 2
b = 5
# result:
a + b
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| JepException | Bei Syntaxfehlern. |
QR
Ermöglicht die Erstellung von QR-Codes.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| size | nein | nein |
| content | ja | nein |
| errorCorrectionLevel | nein | nein |
| targetObject | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| IOException | Wird ausgelöst, wenn ein I/O-Fehler auftritt. |
| QRDataTooBigException | Tritt auf, wenn die Eingabedaten zu lang sind. |
Query Builder
Ermöglicht die komfortable Vorbereitung von Abfragebedingungen. Die angegebene condition wird geprüft und, wenn sie sich als wahr erweist, werden die Werte von query an das targetObject angehängt.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| scriptEngine | nein | nein |
| targetObject | ja | nein |
| condition | ja | ja |
| query | ja | nein |
Bei der Verwendung innerhalb eines JDBC-Steps beachten Sie bitte die Methode f_query.
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| PolyglotException | Wird ausgelöst, wenn das Parsen oder Auswerten des JS-Codes fehlgeschlagen ist. |
| MultipleCompilationErrorsException or CompilationFailedException | Wird ausgelöst, wenn die Kompilierung aufgrund von Quelltextfehlern fehlschlägt. |
| MissingPropertyException | Tritt auf, wenn ein dynamischer Property-Aufruf mit einer unbekannten Property fehlschlägt. |
| MissingClassException | Tritt auf, wenn ein dynamischer Methodenaufruf mit einer unbekannten Klasse fehlschlägt. |
| MissingFieldException | Tritt auf, wenn ein dynamischer Feldaufruf mit einem unbekannten Feld fehlschlägt. |
| MissingMethodException | Tritt auf, wenn ein dynamischer Methodenaufruf mit einer unbekannten Methode fehlschlägt. |
| GroovyRuntimeException | Eine vom Interpreter ausgelöste Exception. |
| StringWriterIOException | Beim Anhängen an einen StringWriter ist eine IO-Exception aufgetreten, was nie vorkommen sollte. |
REST
Dies ist ein sehr leistungsfähiger Step, der den Zugriff auf von Dritten bereitgestellte REST-Dienste ermöglicht.
Optional kann ein Rest-Credential verwendet werden. Auf Werte aus einem Credential kann mit #name zugegriffen werden, auf Cache-Werte entsprechend im Format $.name. Dies ist in den Feldern headers, query params sowie target URL möglich.
Standardmäßig wird der Body anhand der Eigenschaft des Content-Type-Headers gemappt. Alternativ kann der Body durch Aktivieren von Body Script vollständig manuell angepasst werden.
Bitte beachten Sie:
- Der HTTP-Antwortcode wird in das definierte Target Object für den REST-Antwortcode geschrieben, die Antwortdaten selbst werden im Target Object für den REST-Antwortinhalt gespeichert.
- Cookies werden in nachfolgenden REST-Steps innerhalb desselben Prozesses automatisch weitergegeben.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | nein | nein |
| targetUrl | ja | ja |
| action | nein | nein |
| queryParams | ja | ja |
| body | ja | ja |
| bodyScript | ja | ja |
| headers | ja | ja |
| targetObject | ja | nein |
| restResponseCode | ja | nein |
| timeout | nein | nein |
Es ist möglich, auf ein REST-Credential zu verweisen. In diesem Fall können die in diesem Credential definierten Felder im Format #name innerhalb der Felder body, headers, query params und targetUrl verwendet werden.
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| JsonProcessingException | Bei allen Problemen bei der Verarbeitung (Parsen, Generieren) von JSON-Inhalten, die keine reinen I/O-Probleme sind. |
| IllegalArgumentException | Der angegebene URL-String ist keine gültige URI. |
RSS
Ruft RSS/Atom-Feeds von HTTP/HTTPS-URLs ab und parst sie. Der Step lädt den XML-Feed-Inhalt, parst ihn in ein strukturiertes Format und speichert die normalisierten Feed-Daten zusammen mit dem HTTP-Antwortstatus im Cache.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | ja | nein |
| targetUrl | ja | nein |
| targetObject | ja | nein |
| restResponseCode | ja | nein |
| timeout | ja | nein |
| scriptEngine | nein | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| ResourceAccessException | Kann bei der Ausführung einer Anfrage auftreten. |
| HttpStatusCodeException | Kann bei der Ausführung einer Anfrage auftreten. |
| RssUrlRequiredException | Wird ausgelöst, wenn die RSS-URL null oder leer ist. |
| InvalidRssUrlException | Wird ausgelöst, wenn die URL nicht mit file: beginnt oder nicht dem Muster ^https?😕/.* entspricht. |
| HttpClientErrorException | Wird ausgelöst, wenn der Antwortstatus nicht 200 ist. |
| JsonProcessingException | Wird ausgelöst, wenn das Parsen des RSS-Feeds fehlschlägt. |
| IllegalArgumentException | Wird ausgelöst, wenn der RSS-Feed die maximal zulässige Größe von 10 MB überschreitet. |
S3
Der S3-Step bietet Methoden zum Lesen und Schreiben von Daten in S3.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| credentialName | nein | nein |
| fields.path | ja | nein |
| fields.targetObject | ja | nein |
| fields.key | ja | nein |
| fields.content | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| S3BucketRequiredException | Der S3-Bucket ist leer oder null. |
| JsonProcessingException | Bei allen Problemen bei der Verarbeitung (Parsen, Generieren) von JSON-Inhalten, die keine reinen I/O-Probleme sind. |
| IOException | Signalisiert, dass eine I/O-Exception irgendeiner Art aufgetreten ist. Diese Klasse ist die allgemeine Klasse für Exceptions, die durch fehlgeschlagene oder unterbrochene I/O-Operationen entstehen. |
| NoSuchKeyException | Der angegebene S3-Key existiert nicht. |
| InvalidObjectStateException | Das Objekt ist archiviert und bis zur Wiederherstellung nicht zugänglich. |
| SdkException | Basisklasse für alle Exceptions, die vom SDK ausgelöst werden können (Dienst und Client). Kann für Catch-all-Szenarien verwendet werden. |
| SdkClientException | Wenn clientseitig ein Fehler auftritt, etwa ein I/O-bezogener Fehler, das Fehlschlagen beim Abrufen von Credentials usw. |
| S3Exception | Basisklasse für alle Dienst-Exceptions. Unbekannte Exceptions werden als Instanz dieses Typs ausgelöst. |
| NoSuchBucketException | Der angegebene Bucket existiert nicht. |
Security
Dieser Step verwendet AES-256 GCM für die Ver- und Entschlüsselung.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| variables | ja | nein |
| method | nein | nein |
| credentialName | nein | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| JsonProcessingException | Bei allen Problemen bei der Verarbeitung (Parsen, Generieren) von JSON-Inhalten, die keine reinen I/O-Probleme sind. |
| JsonMappingException | Checked Exception, die schwerwiegende Probleme beim Mapping von Inhalten signalisiert, die von I/O-Problemen auf niedriger Ebene zu unterscheiden sind. |
| NoSuchAlgorithmException | Diese Exception wird ausgelöst, wenn ein bestimmter kryptografischer Algorithmus angefordert wird, in der Umgebung aber nicht verfügbar ist. |
| InvalidKeySpecException | Dies ist die Exception für ungültige Schlüsselspezifikationen. |
| NoSuchPaddingException | Diese Exception wird ausgelöst, wenn ein bestimmtes Padding-Verfahren angefordert wird, in der Umgebung aber nicht verfügbar ist. |
| InvalidKeyException | Dies ist die Exception für ungültige Schlüssel (ungültige Kodierung, falsche Länge, nicht initialisiert usw.). |
| InvalidAlgorithmParameterException | Dies ist die Exception für ungültige oder ungeeignete Algorithmusparameter. |
| IllegalBlockSizeException | Diese Exception wird ausgelöst, wenn die Länge der an eine Blockchiffre übergebenen Daten nicht stimmt, d. h. nicht zur Blockgröße der Chiffre passt. |
| BadPaddingException | Diese Exception wird ausgelöst, wenn für die Eingabedaten ein bestimmtes Padding-Verfahren erwartet wird, die Daten aber nicht korrekt aufgefüllt sind. |
Set Variables
Weist einer oder mehreren Variablen feste, statische Werte zu. Es werden nur Literalwerte unterstützt - keine Ausdrücke oder dynamischen Berechnungen. Dieser Step ist deutlich schneller als die Verwendung von Groovy, JavaScript oder Python, da das Laden von Laufzeit-Skripten entfällt.
Information
Verwenden Sie bei Strings keine Anführungszeichen. Geben Sie einfach den gewünschten Wert ein, ohne ihn mit "-Zeichen zu umschließen.
Slack
Der Slack-Step ermöglicht das Senden von Nachrichten an Slack-Channels. Optional bietet er die Möglichkeit, Vorlagen zu verwenden.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | nein | nein |
| message | ja | ja |
| locale | nein | nein |
| textTemplate | ja | nein |
| variables | ja | nein |
| channelId | ja | ja |
| targetObject | ja | nein |
| oldestTimestamp | ja | ja |
| messagesPerPage | nein | ja |
| numberOfPages | nein | ja |
| cursor | nein | ja |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| IOException | Signalisiert, dass eine I/O-Exception irgendeiner Art aufgetreten ist. Diese Klasse ist die allgemeine Klasse für Exceptions, die durch fehlgeschlagene oder unterbrochene I/O-Operationen entstehen. |
| SlackApiException | HTTP-API-Exceptions, entweder auf Client- oder Serverseite. |
SMTP
Der SMTP-Step ermöglicht das Senden von E-Mails aus einem Flowy-Prozess. Er erfordert ein SMTP-Credential bzw. eine Vorlage. Innerhalb des Credentials stehen die folgenden Timeouts zur Verfügung:
connectionTimeout: der Wert für das Verbindungs-Timeout in Millisekunden. Standard ist ein unbegrenztes Timeout.timeout: der Wert für das Lese-Timeout in Millisekunden. Standard ist ein unbegrenztes Timeout.writeTimeout: der Wert für das Schreib-Timeout in Millisekunden. Standard ist ein unbegrenztes Timeout.
Die folgenden Variablen sind zwingend erforderlich:
to: die E-Mail-Adresse der Empfängersubject: der Betreff der E-Mailfrom: die E-Mail-Adresse des Absenders - bitte beachten Sie, dass dieser Wert vom SMTP-Server häufig überschrieben wird und daher möglicherweise nicht übernommen wird
Bei Bedarf können weitere Variablen übergeben werden.
Der SMTP-Step unterstützt außerdem Dateianhänge.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| to | ja | nein |
| from | ja | nein |
| cc | ja | nein |
| bcc | ja | nein |
| credentialName | ja | nein |
| textTemplate | nein | nein |
| locale | nein | nein |
| async | nein | nein |
| variables | ja | nein |
| attachments.name | ja | nein |
| attachments.content | ja | nein |
| attachments.contentType | nein | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| JsonProcessingException | Bei allen Problemen bei der Verarbeitung (Parsen, Generieren) von JSON-Inhalten, die keine reinen I/O-Probleme sind. |
| MessagingException | Die Basisklasse für alle von den Messaging-Klassen ausgelösten Exceptions. |
SSH
Ermöglicht die Kommunikation mit einem SSH-Server.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | ja | nein |
| command | ja | nein |
| timeout | nein | nein |
| targetObject | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| JschException | Bei allen Problemen mit dem Jsch-Dienst. |
Storage
Ermöglicht das schnelle und effektive Speichern und Abrufen von Daten (sowohl einfache Strings als auch komplexe JSON-Objekte). Die Datensätze werden in der Flowy-Datenbank gespeichert und regelmäßig durch einen eigenen Job bereinigt.
Bitte beachten Sie, dass bei einem Lookup das targetObject auf null gesetzt wird, wenn der Key nicht gefunden wird oder bereits abgelaufen ist.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| scriptEngine | nein | nein |
| key | ja | ja |
| targetObject | ja | nein |
| expiresIn | ja | ja |
| value | ja | ja |
Dieser Step kann dieselben Exceptions (kombiniert) wie die Groovy- und JavaScript-Steps auslösen.
Stripe Connect
Integriert die Zahlungsplattform Stripe, um Zahlungsvorgänge, Kundenverwaltung und Finanztransaktionen durchzuführen.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | ja | nein |
| action | nein | nein |
| targetObject | ja | nein |
| fields.balanceTransactionId | ja | nein |
| fields.type | ja | nein |
| fields.amount | ja | nein |
| fields.currency | ja | nein |
| fields.paymentMethodId | ja | nein |
| fields.confirmationMethod | ja | nein |
| fields.description | ja | nein |
| fields.customerId | ja | nein |
| fields.paymentIntentId | ja | nein |
| fields.paymentMethod | ja | nein |
| fields.receiptEmail | ja | nein |
| fields.cancellationReason | ja | nein |
| fields.email | ja | nein |
| fields.name | ja | nein |
| fields.phone | ja | nein |
| fields.source | ja | nein |
| fields.chargeId | ja | nein |
| fields.reason | ja | nein |
| fields.refundId | ja | nein |
| fields.disputeId | ja | nein |
| fields.active | ja | nein |
| fields.productId | ja | nein |
| fields.method | ja | nein |
| fields.payoutId | ja | nein |
| fields.status | ja | nein |
Switch
Die Switch-Struktur bietet eine bedingungsbasierte Ablaufsteuerung. Sie dient außerdem als Ersatz für if/else.
Die Script Engine kann auf dieser Ebene definiert werden.
Jeder switch muss mindestens eine Bedingung enthalten. Diese Bedingung ist in der ausgewählten Skriptsprache zu formulieren.
Jede Bedingung wird einmal ausgewertet: Trifft sie zu, wird der zugehörige Codeblock ausgeführt und die Auswertung beendet.
Ein else-Zweig kann definiert werden, indem "else" als Bedingung gesetzt wird. Dieser wird ausgeführt, wenn keine der anderen Bedingungen zutrifft.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| scriptEngine | nein | nein |
| conditions | ja | ja |
Throw Exception
Der Throw-Exception-Step ist ein Control Step, der den Prozess absichtlich fehlschlagen lässt, indem er eine konfigurierte Exception auslöst.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| exception | nein | nein |
| message | nein | nein |
| cacheValues | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| Configured exception | Die durch die Eigenschaft exception definierte Exception, mit der konfigurierten Nachricht als Detailtext. |
Tika
Ermöglicht das Extrahieren von reinem Text und Metadaten aus Dokumenten oder das Erkennen des MIME-Typs eines Dokuments mithilfe von Apache Tika. Die Quelle muss auf eine Datei verweisen, die bereits im Cache gespeichert ist (typischerweise durch einen vorherigen Step wie REST, S3 oder File Read geladen).
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| action.EXTRACT_TEXT_AND_METADATA | ||
| sourceObject | ja | nein |
| targetText | ja | nein |
| targetMetadata | ja | nein |
| action.DETECT_DOCUMENT_TYPE | ||
| sourceObject | ja | nein |
| targetObject | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| TikaException | Wird ausgelöst, wenn Tika das Dokument nicht parsen kann (z. B. bei beschädigter oder passwortgeschützter Datei). |
| IOException | Wird ausgelöst, wenn der Quell-Cache-Eintrag nicht als Binärstream gelesen werden kann. |
| SAXException | Wird ausgelöst, wenn der SAX-Content-Handler beim Sammeln des extrahierten Textes fehlschlägt. |
| IllegalArgumentException | Wird ausgelöst, wenn sourceObject nicht auf einen gültigen Cache-Dateieintrag aufgelöst werden kann. |
Time Handler
Stellt Hilfsfunktionen zur Manipulation und Konvertierung von Zeitwerten bereit. Der Step unterstützt die Konvertierung zwischen Zeitformaten, die Berechnung von Zeitdifferenzen und die Anwendung von Rundungsstrategien bei der Umrechnung von Zeit in Minuten.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| fields.roundingType | nein | nein |
| fields.converts | nein | nein |
| fields.converts.sourceObject | ja | nein |
| fields.converts.targetObject | ja | nein |
| fields.baseTime | ja | nein |
| fields.compareTime | ja | nein |
| fields.format | nein | nein |
| fields.targetObject | ja | nein |
Timer
Der Timer-Step bietet eine komfortable Möglichkeit, Zeitspannen effizient zu erfassen und zu messen.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| targetObject | ja | nein |
| startTime | ja | nein |
Toon
Konvertiert Daten zwischen den Formaten JSON, XML und TOON. TOON (Token-Oriented Object Notation) ist ein kompaktes, menschenlesbares Datenformat, das darauf ausgelegt ist, den Token-Verbrauch zu reduzieren und dabei strukturierte Daten zu erhalten. TOON ist ein kompaktes Serialisierungsformat für Daten, das für die Workflow-Verarbeitung optimiert ist.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| converts | nein | nein |
| sourceObject | ja | nein |
| targetObject | ja | nein |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| JsonProcessingException | Ungültiges JSON-Format in den Quelldaten |
| JsonMappingException | JSON-Struktur konnte bei der Konvertierung nicht gemappt werden |
| XMLStreamException | Ungültiges XML-Format in den Quelldaten |
Try/Catch
Dieser Step ermöglicht die Behandlung von Exceptions, die während der Ausführung von Steps auftreten. Er enthält:
- einen Try-Block - dessen Ausführung versucht wird.
- einen oder mehrere Catch-Blöcke: diese werden ausgeführt, wenn die konfigurierte Exception während der Ausführung beliebiger Steps innerhalb des Try-Blocks auftritt.
- einen Finally-Block - wird unabhängig vom Ergebnis ausgeführt.
Tritt eine Exception auf, für die kein passender Catch-Block definiert ist, fährt Flowy mit dem nächsten Step nach dem Try/Catch-Step fort (sofern vorhanden).
Die Reihenfolge, in der die Exceptions definiert sind, ist wichtig, da die erste passende abgefangen wird. Daher sollte die spezifischste zuerst und die allgemeineren später definiert werden.
Details zur Verwendung von Try/Catch bei JavaScript-Exceptions finden Sie in der Beschreibung des JavaScript-Steps.
Twilio
Der Twilio-Step ermöglicht das Senden von Textnachrichten über den Dienst Twilio. Optional können Vorlagen verwendet werden.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | nein | nein |
| message | ja | ja |
| locale | nein | nein |
| textTemplate | ja | nein |
| variables | ja | nein |
| from | ja | ja |
| to | ja | ja |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| RestClientException | Basisklasse für Exceptions, die vom HTTP-Client ausgelöst werden, wenn eine Anfrage aufgrund einer Server-Fehlerantwort, eines Fehlers beim Dekodieren der Antwort oder eines I/O-Fehlers auf niedriger Ebene fehlschlägt. |
Unset Variables
Der Unset-Step bietet eine einfache Möglichkeit, Variablen, die nicht mehr benötigt werden, zur Laufzeit zu entfernen.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| variables | ja | nein |
Until
Dieser Step stellt eine Schleife bereit, die ausgeführt wird, bis die Query-Bedingung wahr wird. Anders als der While-Step, der so lange läuft, wie die Bedingung wahr ist, läuft der Until-Step so lange, wie die Bedingung falsch ist, und endet, sobald sie wahr wird.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| scriptEngine | nein | nein |
| query | ja | ja |
| steps | nein | nein |
User
Der User-Step stellt die erforderlichen Methoden zum Erstellen, Lesen und Validieren von Benutzerkonten und Credentials bereit. Dies ermöglicht die flexible Verwendung von Flowy-Konten innerhalb der Prozesse.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| fields.targetObject | ja | nein |
| fields.email | ja | nein |
| fields.name | ja | nein |
| fields.roles | ja | nein |
| fields.password | ja | nein |
| fields.userId | ja | nein |
| fields.apiKey | ja | nein |
| fields.roles | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| InvalidUserIdException | Die User-ID ist keine gültige Zahl. |
UUID
Dieser Step erzeugt eine UUID in Version 4.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| targetObject | ja | nein |
Validation Rule
Validiert Daten anhand vordefinierter Validierungsregeln. Der Step wendet Einschränkungen auf Feldebene an, um Datenstruktur, Typen und Werte zu prüfen, und liefert entweder Validierungsfehler oder einen Erfolgsindikator zurück.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| sourceObject | ja | nein |
| validationName | nein | nein |
| strictMode | nein | nein |
| targetObject | ja | nein |
Dieser Step kann Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| ValidationStepException | Wird ausgelöst, wenn strictMode true ist und ein Validierungsfehler auftritt. |
| IllegalStateException | Wird ausgelöst, wenn in der Vererbung von Validierungsregeln ein Zyklus erkannt wird. |
| HttpNotFoundException | Wird ausgelöst, wenn eine in einem Step per Name referenzierte Validierung nicht gefunden werden kann. |
Wait
Pausiert die Prozessausführung, bis ein oder mehrere Child-Events abgeschlossen sind. Der Step fragt die Status der Child-Events in regelmäßigen Abständen ab und fährt erst fort, nachdem alle angegebenen Events einen Endzustand erreicht haben (successful, failed, timeout oder validation failed).
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| childEventIds | ja | nein |
| pollingIntervalMs | nein | nein |
| timeoutMs | nein | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| WaitStepTimeoutException | Wird ausgelöst, wenn das Timeout erreicht wird. |
Der WhatsApp-Step ermöglicht das Senden von WhatsApp-Nachrichten über ein konfiguriertes WhatsApp-Credential.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| credentialName | ja | nein |
| message | ja | ja |
| locale | ja | nein |
| textTemplate | ja | nein |
| variables | ja | ja |
| action | nein | nein |
| to | ja | ja |
Dieser Step kann eine der folgenden Exceptions auslösen:
| Name | Beschreibung |
|---|---|
| IOException | Signalisiert, dass eine I/O-Exception irgendeiner Art aufgetreten ist. Diese Klasse ist die allgemeine Klasse für Exceptions, die durch fehlgeschlagene oder unterbrochene I/O-Operationen entstehen. |
| RuntimeException | Bei jedem unerwarteten internen Fehler (ungültige Eingabe, Skriptfehler, Probleme bei der Auflösung von Credentials). |
While
Dieser Step bietet eine einfache Möglichkeit, Schleifen umzusetzen. Es muss eine Query-Bedingung definiert werden; die Schleife wird so lange wiederholt, wie diese Bedingung wahr ist.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| scriptEngine | nein | nein |
| query | ja | ja |
| steps | nein | nein |
XLS
Ermöglicht die Konvertierung von Daten zwischen JSON und XLS (in beide Richtungen).
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| source | ja | nein |
| includeHeaders | nein | nein |
| targetObject | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| IOException | Wird ausgelöst, wenn ein I/O-Fehler auftritt. |
XML
Konvertiert Daten bidirektional zwischen den Formaten XML und JSON. Der Step unterstützt das Parsen von XML-Strings in JSON-Objekte sowie das Serialisieren von JSON-Objekten/-Strings in das XML-Format und ermöglicht so eine nahtlose Integration zwischen XML-basierten und JSON-basierten Systemen.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| sourceObject | ja | nein |
| targetObject | ja | nein |
XSLT
Ermöglicht die Konvertierung eines XML-Dokuments mithilfe von XSLT in ein anderes Format.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| xml | ja | nein |
| xslt | ja | nein |
| targetObject | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| IOException | Falls die Transformation fehlgeschlagen ist. |
YAML
Ermöglicht die Konvertierung von Daten zwischen JSON und YAML (in beide Richtungen).
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| action | nein | nein |
| source | ja | nein |
| targetObject | ja | nein |
Dieser Step kann eine Exception auslösen:
| Name | Beschreibung |
|---|---|
| JsonProcessingException | Bei allen Problemen bei der Verarbeitung (Parsen, Generieren) von JSON-Inhalten, die keine reinen I/O-Probleme sind. |
| JsonMappingException | Signalisiert schwerwiegende Probleme beim Mapping von Inhalten, die von I/O-Problemen auf niedriger Ebene zu unterscheiden sind. |
ZIP
Ermöglicht das Komprimieren bzw. Dekomprimieren von Cache-Objekten.
| Feld | Cache-Support | Scripting-Support |
|---|---|---|
| targetObject | ja | nein |
| action | nein | nein |
| fields.entries.name | ja | nein |
| fields.entries.path | ja | nein |
| fields.entries.content | ja | nein |
| sourceObject | ja | nein |
| targetObject | ja | nein |

