Workflows
Workflows zijn herbruikbare automatiseringspijplijnen die vastgelegd verkeer verwerken, actieve stappen uitvoeren of gegevens transformeren, zonder dat je zelfstandige scripts hoeft te schrijven.
Workflowtypen
| Type | Geactiveerd door | Veelvoorkomend gebruik |
|---|---|---|
| Passief | Nieuw vastgelegd verkeer | Interessante patronen markeren, verzoeken taggen, automatisch bevindingen maken. |
| Actief | Handmatige uitvoering | Vervolgverzoeken versturen, acties koppelen, tests met meerdere stappen uitvoeren. |
| Conversie | Testinvoer, conversieacties of Zoeken en vervangen | Tekst of bytes transformeren, zoals JavaScript opmaken of JSON normaliseren. |
Passieve workflows draaien voortdurend op de achtergrond. Actieve workflows worden op verzoek uitgevoerd op een geselecteerde set verzoeken.
Het workflowcanvas
Open Workflows en selecteer een workflow om het canvas te openen.
- Nodes verschijnen in het middenpaneel. Elke node heeft getypeerde invoer- en uitvoerpoorten.
- Verbind een uitvoerpoort met een invoerpoort door ertussen te klikken en slepen.
- Klik op een node om het configuratiepaneel rechts te openen.
- De werkbalk bovenaan bevat bedieningselementen voor uitvoeren, in-/uitschakelen en importeren/exporteren.
Nodetypen
| Node | Beschrijving |
|---|---|
| Start / Einde | Ingangs- en uitgangsnodes passend bij het workflowtype passief, actief of conversie. |
| Voorwaarden | Als / anders, Als / anders JS, HTTPQL-overeenkomst, Testbereikovereenkomst, Tekenreeks bevat en Regexovereenkomst. |
| Codering | Base64-, URL-, Hex- en HTML-codering/decodering. |
| Opmaak en hashes | JSON verkleinen/opmaken, MD5, SHA-1 en SHA-256. |
| Tekstbewerkingen | Tekens aan randen verwijderen, Samenvoegen, Splitsen, Zoeken en vervangen, JQ-transformatie en Grep-extractie. |
| JavaScript | Aangepaste logica met de workflow-SDK; kan verkeer lezen, bestanden bewerken en bevindingen maken. |
| Integratie | Loggen, Webhook, Workflow aanroepen, Verzoek versturen en Zoek-en-vervangregel. |
Gebruik het nodepalet voor de daadwerkelijke poorten en configuratie. Klik op een verbinding om die koppeling te bewerken in plaats van een node te verwijderen om de graaf opnieuw te verbinden. Sla op met Opslaan of Ctrl+S (Command+S op macOS).
Delen en scope
Workflows worden standaard gedeeld tussen projecten in dezelfde werkruimte. Schakel Projectspecifiek in om een definitie bij het project te bewaren. Gedeelde definities betekenen niet dat verkeer, resultaten of notities van elk project gedeeld worden. Exporteer/importeer workflow-JSON wanneer je naar een andere werkruimte of installatie verhuist.
Testen vóór livegebruik
Passieve en actieve workflows hebben een sectie HTTP-test met testgegevens voor URL, ruw Verzoek en ruw Antwoord. Schakel de workflow in, vul die velden in en klik op Workflow testen. De test slaat wijzigingen op voordat deze wordt uitgevoerd. De testwaarden blijven per workflow behouden wanneer je wegnavigeert en terugkeert.
Een conversieworkflow heeft in plaats daarvan Testinvoer en uitvoer. Begin met kleine representatieve invoer en test vervolgens een bestand van realistische grootte. Testgegevens maken willekeurige JavaScript-nodes of nodes van het type Verzoek versturen niet onschadelijk: workflowcode kan de geconfigureerde acties nog steeds uitvoeren.
JavaScript en bestanden
Workflow-JavaScript ondersteunt de Ogma-SDK en compatibele fs-/path-imports. Gebruik sdk.fs.readFile, writeFile, appendFile, exists, readDir, mkdir en unlink voor bestandsbewerkingen en sdk.path voor paden die rekening houden met het platform. Dit zijn Ogma-hulpfuncties, niet de volledige standaardbibliotheek van Node.js.
Lees voor een workflow die bestanden exporteert response.getBody().toText(), kies een bestemming met sdk.path.join, maak de bovenliggende map en controleer sdk.fs.exists als je geen bestaand bestand wilt overschrijven. Controleer bestandssysteempaden vóór uitvoering: de bestandssysteemhulpfuncties van workflows draaien op de Ogma-host, anders dan de sdk.fs van een plugin die tot de privémap is beperkt. Zie plugin-SDK voor die afzonderlijke uitvoeringsomgeving.
Een workflow importeren
- Klik op Importeren in de werkbalk Workflows.
- Selecteer een JSON-workflowbestand.
- De workflow opent in het canvas. Controleer de nodeconfiguratie voordat je deze inschakelt.
- Sla de workflow op.
Geëxporteerde workflow-JSON-bestanden kunnen tussen Ogma-installaties worden gedeeld of in versiebeheer worden opgeslagen.
Een workflow uitvoeren op vastgelegde geschiedenis
Actieve workflows kunnen opnieuw worden uitgevoerd op eerder vastgelegde verzoeken.
- Open de workflow.
- Klik op Uitvoeren op geschiedenis.
- Voer in het dialoogvenster voor geschiedenisscans een optioneel HTTPQL-filter in om te beperken welke verzoeken de workflow verwerkt.
- Klik op Uitvoeren.
Controleer het aantal overeenkomsten en start de taak. Voortgang en fouten verschijnen in de scantaak en, wanneer logging is ingeschakeld, in de uitvoeringsgeschiedenis. Passieve workflows bieden Geschiedenis scannen en Opnieuw uitvoeren op verzoek voor verwerking achteraf.
Selecteer voor enkele interessante vermeldingen een of meer rijen in HTTP-geschiedenis, klik met de rechtermuisknop, kies Sturen naar > Workflow en selecteer een ingeschakelde actieve workflow. Dit levert de geselecteerde vermeldingen aan zonder de definitie te wijzigen of de volledige geschiedenis te verwerken.
De knop AI naast het filterveld voor geschiedenisscans genereert een HTTPQL-expressie uit een beschrijving in gewone taal.
Workflowuitvoeringen en resultaten
Schakel Loggen inschakelen in de workflowconfiguratie in wanneer je uitvoeringsdetails nodig hebt. Dit geldt voor passieve, actieve en conversieworkflows, inclusief conversies via Zoeken en vervangen. Wanneer dit is uitgeschakeld, gaat de verwerking door, maar worden geen uitvoerings-/staplogboeken toegevoegd; schakel het opnieuw in en herhaal een test om een probleem te onderzoeken.
- Klik op een uitvoering om de stapuitvoer per node te bekijken.
- Nodes die fouten hebben veroorzaakt, worden gemarkeerd.
- Bevindingen die tijdens de uitvoering zijn gemaakt, verschijnen in de weergave Bevindingen.
- Variabelen die tijdens de uitvoering zijn geëxtraheerd, zijn zichtbaar in het stapdetailpaneel.
Alles wissen verwijdert de opgeslagen uitvoeringsgeschiedenis van de geselecteerde workflow. Download logboeken voordat je ze wist als je bewijsmateriaal voor foutonderzoek wilt bewaren. Logging kan grote uitvoer opslaan, zoals volledige scriptbodies, dus laat deze uit bij conversies met een hoog volume, tenzij je ze nodig hebt.
Een passieve workflow inschakelen
- Open de workflow.
- Controleer of de canvasconfiguratie volledig is (geen verplichte poorten zonder verbinding).
- Schakel Inschakelen in de werkbalk in.
Ingeschakelde passieve workflows verwerken nieuw verkeer automatisch. Schakel een workflow uit om deze te pauzeren zonder deze te verwijderen.