Pripravujeme pre Vás novú dokumentáciu, aktuálny stav nájdete tu

ÚVOD KE SKRIPTŮM

Přehled skriptů

CDESK poskytuje možnost vytvářet vlastní skripty pro automatizaci procesů ve vašem každodenním životě. Tyto skripty fungují nezávisle na CDESK a používají API pro získávání a odesílání dat zpět, takže je lze spouštět z libovolného počítače, serveru nebo cloudové služby.

Poskytujeme několik ukázkových skriptů ve dvou variantách:

  1. Dockerizované CDESK Python skripty
  2. CDESK skripty využívající služby Azure

Pro implementaci vlastního scénáře je možné zvolit kteroukoli z těchto metod, avšak obecně jsou skripty v Azure vhodnější pro menší scénáře díky snadné údržbě, pokud nemáte mnoho zkušeností s cloudovými službami. Na druhou stranu jsou Python skripty flexibilnější, protože se snáze testují, nastavují a spravují. Pokud běží na lokálním počítači nebo serveru, je jejich provoz bezplatný, protože nemají náklady na dobu provozu nebo počet volání API, na rozdíl od většiny cloudových služeb. Vyžadují však programátorské znalosti a základy práce s Dockerem. Výběr vhodné varianty tedy závisí na vaší situaci.

Dockerizované CDESK Python skripty

K používání dockerizovaných CDESK skriptů budete potřebovat nainstalovaný Docker na vašem počítači. Nejdůležitější je Docker CLI (cmd, Bash, sh atd.), přičemž Docker Desktop GUI je užitečným doplňkem pro méně zkušené uživatele. Manuál instalace a odkazy najdete na oficiální stránce.

Rovněž doporučujeme nainstalovat Python pro lokální vývoj, aby bylo možné skripty otestovat i bez vytváření Docker kontejneru.

Před začátkem práce se skripty se doporučuje nastavit aplikaci Support CDESK Scripts, která slouží k zobrazování logů skriptů a manuálnímu spouštění existujících skriptů. Tato aplikace nepoužívá Docker, ale běží přímo na lokálním počítači. Z důvodu bezpečnosti a technických komplikací není součástí aplikace CDESK a není přístupná zvenčí, takže přístup bude omezen na PC/server, kde aplikace běží. Doporučuje se mít tuto aplikaci pro snazší správu skriptů, fungovat však budou i bez ní.

CDESK skripty využívající Azure

Ke spuštění CDESK skriptů v Azure budete potřebovat základní porozumění službám, které Azure poskytuje. Pro jednoduché scénáře, kde se neprovádí mnoho volání API a nedochází ke komplikovanému zpracování dat, můžete použít Azure Logic Apps (více informací najdete v tomto manuálu). Pro složitější scénáře byste měli zvážit jiné služby, jako například Container Instance nebo Function App. Tyto služby umožňují hostovat větší skripty s více soubory zdrojového kódu, voláními API a komplexním zpracováním dat.

Kde najít určitá data v CDESK

Různé scénáře si jistě vyžádají informace o ID objektů CDESK pro jejich vytváření nebo úpravu. K získání objektů podle vašich potřeb budete muset použít SB filtry. Tyto údaje není těžké najít a jedinou podmínkou je přístup do vašeho CDESK.

ID objektu

ID objektu je informace, která se běžně používá v rámci vývoje. Proto se nezobrazuje přímo na objektech. Pro jeho nalezení přejděte na požadovaný objekt (požadavek, výkaz, společnost, uživatel atd.) a vyhledejte id v URL adrese.

 

SB filtr objektů

Tento filtr se běžně používá v CDESK pro různé objekty, jako jsou požadavky, výkazy, obchody, úkoly a jiné. Pro přístup k SB filtrům musíte přidat příslušné oprávnění ACL k účtu, který je bude používat.

  1. Přihlaste se do CDESK jako lokální administrátor.
  2. Přejděte do Uživatelé a skupiny -> Uživatelé v levém menu a vyberte uživatele, kterému chcete přidat oprávnění pro debug nástroje.
  3. V sekci Oprávnění najděte položku Vývojářské nástroje v seznamu ACL. Aktivujte ji pro uživatele a uložte změny.

Poté přejděte na Povolení a v seznamu ACL najděte Vývojářské nástroje. Zapněte je pro tohoto uživatele a uložte změny.

 

 

Nyní by se vám mělo zobrazit červené tlačítko DEBUG, které zobrazí/skryje aktuálně použité SB filtry. Pokud ho nevidíte, klikněte na tlačítko Zobrazit rozšířené vyhledávání.

 

SB filtr je vytvořen jako JSON objekt, který obsahuje pole a aplikované filtry. Tento JSON se poté zakóduje do base64 formátu a používá se ve voláních GET API.