Tento projekt automatizuje zpracování e-mailů v rámci systému CDESK. Zahrnuje načítání nových e-mailů, identifikaci konkrétních akcí na základě obsahu e-mailů a provádění operací, jako je vytvoření diskusí nebo požadavků podle získaných informací.
Skript je vytvořen jako Azure Function App, jako alternativa k lokální dockerizované verzi. Protože běží v cloudu, logy aplikace nelze zobrazit přes lokální aplikaci; namísto toho jsou dostupné v Azure službě. Tento manuál poskytuje krok za krokem návod na vytvoření Function App s použitím Visual Studio Code. Pro jiné metody, pokud je to potřeba, podívejte se na oficiální dokumentaci od Microsoftu.
Tento skript slouží jako ukázka zpracování dat v CDESK a automatizace vytváření objektů – v tomto případě zpracování e-mailů a vytvoření požadavků s diskusí.
function_app.py
Hlavní vstupní bod aplikace. Skript se spouští každých 5 minut, inicializuje připojení k CDESK, načte nové e-maily, zpracuje každý e-mail podle akčního kódu a po ukončení se odhlásí.
ConnectionController.py
Řeší připojení k CDESK API. Spravuje přihlašovací proces, udržuje relaci a provádí GET a POST požadavky s potřebnou autentizací.
ObjectController.py
Obsahuje metody pro interakci s objekty CDESK, jako jsou e-maily a požadavky. Zahrnuje funkce pro načtení e-mailů, jejich zpracování a vytvoření diskusí nebo požadavků na základě obsahu e-mailu.
LoggerController.yml
Používá se k tisku log zpráv do logů funkční aplikace.
docker-compose.yml
Definuje Docker prostředí pro spuštění skriptu na zpracování e-mailů. Nastavuje potřebné proměnné prostředí pro připojení k CDESK a specifikuje síťové konfigurace.
last_email_id.txt
Dokument obsahující ID posledního zpracovaného e-mailu.
Nejprve musíte mít alespoň jeden e-mail v části Zpracování zpráv -> Zpracování zpráv s určitou kombinací obsahu.
Tento e-mail by měl obsahovat kombinaci velkých písmen a čísel o délce 6 až 8 znaků. Tato kombinace může být uvedena buď v předmětu nebo v těle e-mailu a bude představovat číslo balíku, který skript zpracuje. Navíc e-mail může obsahovat slova o cílovém místě (např. Cílové místo: Testovací 11, Bratislava), která se přidají do nově vytvořeného požadavku jako vlastní pole.
Příklad e-mailu:
Předmět: Zpráva o odeslání NK123455
Tělo: Zpráva o odeslání NK123455. Cílové místo: Nová 34, Bratislava. Použito pouze pro testovací účely.
Nejprve budete potřebovat uživatelské pole, které bude skript používat a které se přidá do nově vytvořeného požadavku při zpracování e-mailu. Pro vytvoření nového pole můžete postupovat podle těchto kroků:


Po vytvoření uživatelského pole bude potřeba nastavit v skriptu následující data z CDESK (jako proměnné prostředí v souboru docker-compose.yml):



Najdete ho v menu / dlaždicích -> Konfigurační databáze (nebo CMDB) -> Uživatelem definovaná pole -> Uživatelská pole.
Poté vyhledejte požadované uživatelské pole, otevřete ho a v URL adrese najděte jeho ID.
Poté vyhledejte požadované uživatelské pole, otevřete ho a v URL adrese najděte jeho ID.
Najdete ho v menu / dlaždice -> Konfigurační databáze (nebo CMDB) -> Uživatelem definovaná pole -> Základní vlastnosti
Rovněž pro vizualizaci logů generovaných tímto skriptem je potřeba nastavit mapování svazku do adresáře na lokálním PC nebo serveru. Tímto adresářem může být /logs v aplikaci pro logy, který je speciálně vytvořen pro tento účel.
Vyhledejte a nainstalujte následující rozšíření:


Název: jakýkoli název zdroje, například my-email-processing-script
Runtime stack: Pokud je to možné, vyberte novější verzi Pythonu, například Python 3.11.
Umístění zdrojů: Vyberte umístění, které je geograficky blízko vás.





Poznámka: Cron – Celý tento skript, pokud je dockerizovaný, je nastaven jako cron, který se spouští každých 5 minut.
Během běhu skript generuje logy, které je možné sledovat v docker logs. Tyto logy obsahují inicializační zprávy, aktualizace průběhu a případné chyby.