Workflows
Workflows sind wiederverwendbare Automatisierungspipelines, die aufgezeichneten Datenverkehr verarbeiten, aktive Schritte ausführen oder Daten transformieren – ohne dass du eigenständige Skripte schreiben musst.
Workflow-Typen
| Typ | Auslöser | Häufige Verwendung |
|---|---|---|
| passiv (Passive) | Neu aufgezeichneter Datenverkehr | Interessante Muster markieren, Anfragen mit Tags versehen, Befunde automatisch erstellen. |
| aktiv (Active) | Manueller Start | Folgeanfragen senden, Aktionen verketten, mehrstufige Tests ausführen. |
| Konvertierung (Convert) | Testeingabe, Umwandlungsaktionen oder Suchen & Ersetzen | Text oder Bytes transformieren, etwa JavaScript formatieren oder JSON normalisieren. |
Passive-Workflows laufen kontinuierlich im Hintergrund. Active-Workflows werden bei Bedarf für eine ausgewählte Menge von Anfragen ausgeführt.
Die Workflow-Arbeitsfläche
Öffne Workflows und wähle einen Workflow, um seine Arbeitsfläche zu öffnen.
- Knoten erscheinen im mittleren Bereich. Jeder Knoten hat typisierte Ein- und Ausgangsports.
- Verbinde einen Ausgangsport mit einem Eingangsport, indem du vom Ausgangsport zum Eingangsport ziehst.
- Klicke auf einen Knoten, um rechts seinen Konfigurationsbereich zu öffnen.
- Die obere Werkzeugleiste enthält Optionen für Ausführung, Aktivieren/Deaktivieren und Import/Export.
Knotentypen
| Knoten | Beschreibung |
|---|---|
| Start / Ende | Ein- und Ausgangsknoten passend zum Workflow-Typ Passive, Active oder Convert. |
| Bedingungen | If / Else, If / Else JS, HTTPQL-Abgleich, Scope-Abgleich, Zeichenfolge enthält und Regex-Abgleich. |
| Codierung | Base64-, URL-, Hex- und HTML-Codierung/Decodierung. |
| Formatierung und Hashes | JSON minimieren/formatieren, MD5, SHA-1 und SHA-256. |
| Textoperationen | Trimmen, Verbinden, Aufteilen, Match & Replace, JQ-Transformation und Grep-Extraktion. |
| JavaScript | Eigene Logik mit dem Workflow-SDK; kann Datenverkehr lesen, Dateien bearbeiten und Befunde erstellen. |
| Integration | Protokoll, Webhook, Workflow aufrufen, Anfrage senden und Match-&-Replace-Regel. |
Die tatsächlichen Ports und Einstellungen findest du in der Knotenpalette. Klicke auf eine Verbindung, um sie zu bearbeiten, statt zum Neuverbinden des Graphen einen Knoten zu löschen. Speichere mit Speichern oder Ctrl+S (Command+S unter macOS).
Gemeinsame Nutzung und Gültigkeitsbereich
Workflows werden standardmäßig zwischen Projekten desselben Arbeitsbereichs geteilt. Aktiviere Projektspezifisch, damit eine Definition ihrem Projekt zugeordnet bleibt. Geteilte Definitionen bedeuten nicht, dass Datenverkehr, Ergebnisse oder Notizen aller Projekte geteilt werden. Exportiere/importiere Workflow-JSON beim Wechsel in einen anderen Arbeitsbereich oder eine andere Installation.
Vor dem Live-Einsatz testen
Passive- und Active-Workflows haben einen Bereich HTTP-Test mit URL sowie rohen Anfrage- und Antwort-Testdaten. Aktiviere den Workflow, fülle die Felder und klicke auf Workflow testen. Der Test speichert Änderungen vor der Ausführung. Testdaten bleiben pro Workflow erhalten, wenn du weg- und zurücknavigierst.
Ein Convert-Workflow hat stattdessen Testeingabe und Ausgabe. Beginne mit einer kleinen repräsentativen Eingabe und teste danach eine realistisch große Ressource. Testdaten machen beliebiges JavaScript oder Anfrage-senden-Knoten nicht harmlos: Workflow-Code kann weiterhin seine konfigurierten Aktionen ausführen.
JavaScript und Dateien
Workflow-JavaScript unterstützt das Ogma-SDK und kompatible fs-/path-Importe. Nutze sdk.fs.readFile, writeFile, appendFile, exists, readDir, mkdir und unlink für Dateioperationen und sdk.path für plattformgerechte Pfade. Dies sind Ogma-Helfer, nicht die gesamte Node.js-Standardbibliothek.
Für einen Ressourcenexporter liest du response.getBody().toText(), wählst mit sdk.path.join ein Ziel, erstellst dessen übergeordnetes Verzeichnis und prüfst sdk.fs.exists, wenn du keine vorhandene Datei überschreiben möchtest. Prüfe Dateisystempfade vor der Ausführung: Workflow-Dateisystemhelfer laufen auf dem Ogma-Host, anders als sdk.fs eines Plugins in dessen privatem Verzeichnis. Informationen zu dieser anderen Laufzeit findest du im Plugin-SDK.
Einen Workflow importieren
- Klicke in der Workflow-Werkzeugleiste auf Importieren.
- Wähle eine JSON-Workflow-Datei.
- Der Workflow öffnet sich auf der Arbeitsfläche. Prüfe die Knotenkonfiguration vor dem Aktivieren.
- Speichere den Workflow.
Exportierte Workflow-JSON-Dateien können zwischen Ogma-Installationen geteilt oder in der Versionsverwaltung gespeichert werden.
Einen Workflow für aufgezeichneten Verlauf ausführen
Active-Workflows lassen sich für zuvor aufgezeichnete Anfragen erneut ausführen.
- Öffne den Workflow.
- Klicke auf Auf Verlauf ausführen.
- Gib im Dialog zum Scannen des Verlaufs bei Bedarf einen HTTPQL-Filter ein, um die verarbeiteten Anfragen zu begrenzen.
- Klicke auf Ausführen.
Prüfe die Trefferzahl und starte den Auftrag. Fortschritt und Fehler erscheinen im Scanauftrag und bei aktivierter Protokollierung in dessen Ausführungsverlauf. Passive-Workflows bieten Verlauf scannen und Für Anfrage erneut ausführen zur nachträglichen Verarbeitung.
Für einige interessante Ressourcen wählst du eine oder mehrere HTTP-Verlaufszeilen, öffnest das Kontextmenü, wählst Senden an > Workflow und einen aktivierten Active-Workflow. Dies übergibt ihm die ausgewählten Einträge, ohne seine Definition zu ändern oder den gesamten Verlauf zu verarbeiten.
Die Schaltfläche KI neben dem Filter für das Scannen des Verlaufs erzeugt aus einer natürlichsprachlichen Beschreibung einen HTTPQL-Ausdruck.
Workflow-Ausführungen und Ergebnisse
Aktiviere Protokollierung aktivieren in der Workflow-Konfiguration, wenn du Ausführungsdetails brauchst. Dies gilt für Passive-, Active- und Convert-Workflows einschließlich Match-&-Replace-Umwandlungen. Bei Deaktivierung läuft die Verarbeitung weiter, fügt aber keine Ausführungs-/Schrittprotokolle hinzu; aktiviere sie erneut und wiederhole einen Test zur Problemdiagnose.
- Klicke auf eine Ausführung, um die Schrittausgabe pro Knoten zu sehen.
- Knoten mit Fehlern werden hervorgehoben.
- Während der Ausführung erstellte Befunde erscheinen unter Befunde.
- Während der Ausführung extrahierte Variablen sind im Schrittdetailbereich sichtbar.
Alles leeren entfernt den gespeicherten Ausführungsverlauf des ausgewählten Workflows. Lade Protokolle vorher herunter, wenn du sie als Debugging-Nachweise behalten musst. Die Protokollierung kann große Ausgaben wie vollständige Skript-Bodies speichern; lasse sie deshalb bei häufigen Umwandlungen ausgeschaltet, sofern du sie nicht brauchst.
Einen Passive-Workflow aktivieren
- Öffne den Workflow.
- Prüfe, ob die Arbeitsflächenkonfiguration vollständig ist (keine unverbundenen erforderlichen Ports).
- Betätige Aktivieren in der Werkzeugleiste.
Aktivierte Passive-Workflows verarbeiten neuen Datenverkehr automatisch. Deaktiviere einen Workflow, um ihn ohne Löschen zu pausieren.