---
url: https://docs.ogmabox.com/cs/app/workflows.md
description: >-
  Vytvářejte opakovaně použitelné pracovní postupy Ogma pro pasivní zpracování,
  aktivní akce a převod dat.
---

# Pracovní postupy {#workflows}

Pracovní postupy jsou opakovaně použitelné automatizační řetězce, které zpracovávají zachycený provoz, spouštějí aktivní kroky nebo transformují data bez nutnosti psát samostatné skripty.

## Typy pracovních postupů {#workflow-types}

| Typ | Spouštěč | Běžné použití |
|------|-------------|------------|
| Pasivní | Nový zachycený provoz | Označování zajímavých vzorů, přiřazování štítků požadavkům, automatické vytváření nálezů. |
| Aktivní | Ruční spuštění | Odesílání navazujících požadavků, řetězení akcí, provádění vícekrokových testů. |
| Převodní | Testovací vstup, převodní akce nebo funkce Vyhledat a nahradit | Transformace textu nebo bajtů, například formátování JavaScriptu nebo normalizace JSON. |

Pasivní pracovní postupy běží nepřetržitě na pozadí. Aktivní pracovní postupy se spouštějí na vyžádání nad vybranou sadou požadavků.

## Plátno pracovního postupu {#the-workflow-canvas}

Otevřete **Pracovní postupy** a vyberte pracovní postup pro otevření jeho plátna.

* Uzly se zobrazují ve středním panelu. Každý uzel má typované vstupní a výstupní porty.
* Výstupní port propojte se vstupním kliknutím a přetažením mezi nimi.
* Kliknutím na uzel otevřete jeho konfigurační panel vpravo.
* Horní lišta obsahuje ovládání spuštění, povolení/zakázání a importu/exportu.

## Typy uzlů {#node-types}

| Uzel | Popis |
|------|-------------|
| Začátek / konec | Vstupní a výstupní uzly odpovídající pasivnímu, aktivnímu nebo převodnímu typu pracovního postupu. |
| Podmínky | Pokud / jinak, Pokud / jinak JS, Shoda HTTPQL, Shoda s rozsahem testování, Řetězec obsahuje a Shoda regulárního výrazu. |
| Kódování | Kódování/dekódování Base64, URL, Hex a HTML. |
| Formátování a hashe | Minimalizace/formátování JSON, MD5, SHA-1 a SHA-256. |
| Textové operace | Oříznutí znaků na okrajích, Spojení, Rozdělení, Hledání a nahrazování, Transformace JQ a Extrakce pomocí grep. |
| JavaScript | Vlastní logika pomocí SDK pracovních postupů; může číst provoz, pracovat se soubory a vytvářet nálezy. |
| Integrace | Zápis do protokolu, Webhook, Vyvolání pracovního postupu, Odeslání požadavku a Pravidlo hledání a nahrazování. |

Skutečné porty a nastavení najdete v paletě uzlů. Kliknutím na propojení pracujte s daným spojem místo odstranění uzlu kvůli přepojení grafu. Ukládejte pomocí **Uložit** nebo **Ctrl+S** (Command+S v macOS).

## Sdílení a rozsah {#sharing-and-scope}

Pracovní postupy jsou ve výchozím nastavení sdílené mezi projekty ve stejném pracovním prostoru. Zapněte **Pro konkrétní projekt**, pokud má definice zůstat u svého projektu. Sdílené definice neznamenají sdílení provozu, výsledků nebo poznámek každého projektu. Při přesunu do jiného pracovního prostoru nebo instalace exportujte/importujte JSON pracovního postupu.

## Testování před použitím na živém provozu {#testing-before-live-use}

Pasivní a aktivní pracovní postupy mají sekci **Test HTTP** s testovacími daty pro URL, surový požadavek a surovou odpověď. Povolte pracovní postup, vyplňte pole a klikněte na **Otestovat pracovní postup**. Test před spuštěním uloží úpravy. Testovací hodnoty se uchovávají pro každý pracovní postup i při přechodu jinam a zpět.

Převodní pracovní postup místo toho obsahuje **Testovací vstup** a výstup. Začněte malým reprezentativním vstupem a poté otestujte prostředek realistické velikosti. Testovací data nezaručují neškodnost libovolného JavaScriptu ani uzlů odesílání požadavků: kód pracovního postupu stále může provádět své nastavené akce.

### JavaScript a soubory {#javascript-and-files}

JavaScript pracovních postupů podporuje SDK Ogma a kompatibilní importy `fs`/`path`. Pro operace se soubory používejte `sdk.fs.readFile`, `writeFile`, `appendFile`, `exists`, `readDir`, `mkdir` a `unlink` a pro cesty zohledňující platformu `sdk.path`. Jde o pomocné funkce Ogma, nikoli o celou standardní knihovnu Node.js.

Pro exportér prostředků přečtěte `response.getBody().toText()`, zvolte cíl pomocí `sdk.path.join`, vytvořte jeho nadřazený adresář a zkontrolujte `sdk.fs.exists`, pokud nechcete přepsat existující soubor. Před spuštěním zkontrolujte cesty souborového systému: pomocné funkce souborového systému pracovních postupů běží na hostiteli Ogma, na rozdíl od `sdk.fs` pluginu omezeného na soukromý adresář. Toto odlišné běhové prostředí popisuje [SDK pluginů](../plugins/README.md#sdk-fs).

## Import pracovního postupu {#importing-a-workflow}

1. Klikněte na **Importovat** na liště pracovních postupů.
2. Vyberte soubor pracovního postupu ve formátu JSON.
3. Pracovní postup se otevře na plátně. Před povolením ověřte nastavení uzlů.
4. Uložte pracovní postup.

Exportované soubory JSON pracovních postupů lze sdílet mezi instalacemi Ogma nebo ukládat do správy verzí.

## Spuštění pracovního postupu nad zachycenou historií {#running-a-workflow-on-captured-history}

Aktivní pracovní postupy lze znovu spouštět nad dříve zachycenými požadavky.

1. Otevřete pracovní postup.
2. Klikněte na **Spustit nad historií**.
3. V dialogu skenování historie zadejte volitelný filtr HTTPQL omezující zpracovávané požadavky.
4. Klikněte na **Spustit**.

Zkontrolujte počet odpovídajících položek a spusťte úlohu. Průběh a chyby se zobrazují ve skenovací úloze a při zapnutém protokolování také v historii jejích běhů. Pasivní pracovní postupy nabízejí **Skenovat historii** a **Znovu spustit nad požadavkem** pro zpětné zpracování.

Pro několik zajímavých prostředků vyberte jeden nebo více řádků historie HTTP, klikněte pravým tlačítkem, zvolte **Odeslat do > Pracovní postup** a vyberte povolený aktivní pracovní postup. Tím mu předáte vybrané záznamy bez změny jeho definice nebo zpracování celé historie.

Tlačítko **AI** vedle vstupu filtru skenování historie generuje výraz HTTPQL z popisu běžným jazykem.

## Běhy a výsledky pracovních postupů {#workflow-runs-and-results}

Pokud potřebujete podrobnosti provádění, zapněte **Zapnout protokolování** v nastavení pracovního postupu. Platí pro pasivní, aktivní i převodní pracovní postupy včetně převodů funkce Vyhledat a nahradit. Při vypnutí zpracování nadále běží, ale nepřidává protokoly běhů a kroků; pro diagnostiku problému je znovu zapněte a test opakujte.

* Kliknutím na běh zobrazte výstup kroků jednotlivých uzlů.
* Uzly, ve kterých došlo k chybám, jsou zvýrazněné.
* Nálezy vytvořené během běhu se zobrazují v zobrazení [Nálezy](./findings.md).
* Proměnné extrahované během běhu jsou viditelné v panelu podrobností kroku.

**Vymazat vše** odstraní uloženou historii běhů vybraného pracovního postupu. Pokud potřebujete uchovat důkazy pro ladění, před vymazáním protokoly stáhněte. Protokolování může ukládat velké výstupy, například celá těla skriptů, proto je při velkém množství převodů ponechte vypnuté, pokud je nepotřebujete.

## Povolení pasivního pracovního postupu {#enabling-a-passive-workflow}

1. Otevřete pracovní postup.
2. Ověřte, že je nastavení plátna úplné (žádné nepropojené povinné porty).
3. Použijte **Zapnout** na liště.

Povolené pasivní pracovní postupy automaticky zpracovávají nový provoz. Pracovní postup zakažte, pokud jej chcete pozastavit bez odstranění.

## Související stránky {#related-pages}

* [Nálezy](./findings.md)
* [Prostředí](./environment.md)
* [HTTPQL a StreamQL](../reference/httpql.md)
