Tento projekt automatizuje spracovanie emailov v rámci systému CDESK. Zahŕňa načítavanie nových emailov, identifikovanie konkrétnych akcií na základe obsahu emailov a vykonávanie operácií, ako je vytvorenie diskusií alebo požiadaviek podľa získaných informácií.
Skript je vytvorený ako Azure Function App, ako alternatíva k lokálnej Dockerizovanej verzii. Keďže beží v cloude, logy aplikácie nemožno zobraziť cez lokálnu aplikáciu; namiesto toho sú dostupné v Azure službe. Tento manuál poskytuje krok za krokom návod na vytvorenie Function App s použitím Visual Studio Code. Pre iné metódy, ak je to potrebné, pozrite si oficiálnu dokumentáciu od Microsoftu.
Tento skript slúži ako ukážka spracovania dát v CDESK a automatizácie vytvárania objektov – v tomto prípade spracovania emailov a vytvorenia požiadaviek s diskusiou.
function_app.py
Hlavný vstupný bod aplikácie. Skript sa spúšťa každých 5 minút, inicializuje pripojenie k CDESK, načíta nové emaily, spracuje každý email podľa akčného kódu a po ukončení sa odhlási.
ConnectionController.py
Rieši pripojenie k CDESK API. Spravuje prihlasovací proces, udržiava reláciu a vykonáva GET a POST požiadavky s potrebnou autentifikáciou.
ObjectController.py
Obsahuje metódy na interakciu s objektmi CDESK, ako sú emaily a požiadavky. Zahŕňa funkcie na načítanie emailov, ich spracovanie a vytvorenie diskusií alebo požiadaviek na základe obsahu emailu.
LoggerController.yml
Používa sa na tlač log správ do logov funkčnej aplikácie.
docker-compose.yml
Definuje Docker prostredie pre spustenie skriptu na spracovanie emailov. Nastavuje potrebné environmentálne premenné pre pripojenie k CDESK a špecifikuje sieťové konfigurácie.
last_email_id.txt
Dokument obsahujúci ID posledného spracovaného emailu.
Najprv musíte mať aspoň jeden email v časti Spracovanie správ -> Spracovanie správ s určitou kombináciou obsahu.
Tento email by mal obsahovať kombináciu veľkých písmen a čísel s dĺžkou 6 až 8 znakov. Táto kombinácia môže byť uvedená buď v predmete alebo tele emailu a bude predstavovať číslo balíka, ktorý spracuje skript. Navyše, email môže obsahovať slová o cieľovom mieste (napr. Cieľové miesto: Testovacia 11, Bratislava), ktoré sa pridajú do novo vytvorenej požiadavky ako vlastné pole.
Príklad e-mailu:
Predmet: Správa o odoslaní NK123455
Telo: Správa o odoslaní NK123455. Cieľové miesto: Nová 34, Bratislava. Použité iba na testovacie účely.
Najskôr budete potrebovať používateľské pole, ktoré bude používať skript a ktoré sa pridá do novovytvorenej požiadavky pri spracovaní emailu. Na vytvorenie nového poľa môžete postupovať podľa týchto krokov:
Po vytvorení používateľského poľa bude potrebné nastaviť nasledujúce údaje z CDESK v skripte (ako environmentálne premenné v súbore docker-compose.yml):
Potom vyhľadajte požadované používateľské pole, otvorte ho a v URL adrese nájdite jeho ID.
Nájdete ho v menu / dlaždice -> Konfiguračná databáza (alebo CMDB) -> Užívateľsky definované polia -> Základné vlastnosti
Taktiež, na vizualizáciu logov generovaných týmto skriptom je potrebné nastaviť mapovanie zväzku do adresára na lokálnom PC alebo serveri. Tento adresár môže byť /logs v aplikácii pre logy, ktorý je špeciálne vytvorený na tento účel.
Vyhľadajte a nainštalujte nasledujúce rozšírenia:
Názov: akýkoľvek názov zdroja, napríklad my-email-processing-script
Runtime stack: Ak je to možné, vyberte novšiu verziu Pythonu, napríklad Python 3.11.
Umiestnenie zdrojov: Vyberte umiestnenie, ktoré je geograficky blízko vás.
Poznámka: Cron – Celý tento skript, ak je dockerizovaný, je nastavený ako cron, ktorý sa spúšťa každých 5 minút.
Počas behu skript generuje logy, ktoré je možné sledovať v docker logs. Tieto logy obsahujú inicializačné správy, aktualizácie priebehu a prípadné chyby.