Architekt | AI & low-code nadšenec

CLI, kam se podíváš: Tři nástroje, které by měl znát každý Power Platform vývojář

Power Platform CLI (PAC), Power Apps CLI (PA) a Dataverse CLI. Tři nástroje, tři různé přístupy a jeden společný ekosystém.

CLI ve světě Power Platform: PAC, PA a Dataverse CLI
CLI ve světě Power Platform: PAC, PA a Dataverse CLI

V předchozích článcích jsme si představili Dataverse jako společný datový základ a podívali se na testování Power Platform pomocí AI. Dnes se na stejný ekosystém podíváme z pohledu vývojáře, který chce některé kroky provádět přímo z terminálu.

Power Platform si obvykle spojujeme s low-code přístupem a vizuálními návrháři. Při vývoji, správě prostředí nebo automatizaci ale brzy zjistíme, že i příkazová řádka má v tomto světě své místo.

Pokud ale s platformou pracujete na úrovni vývoje, integrací nebo enterprise architektury, dříve či později narazíte na příkazovou řádku.

A není to jen jeden nástroj.

Vedle zavedeného Power Platform CLI (PAC) dnes máme také Power Apps CLI (PA) a novější Dataverse CLI, které je zatím dostupné v režimu Preview.

Každý z těchto nástrojů má trochu jiné zaměření. Jeden nám pomáhá spravovat solutions a deploymenty, druhý podporuje vývoj Code Apps a třetí umožňuje přímou práci s Dataverse daty, API nebo AI agenty.

Proč ale Microsoft nabízí více CLI nástrojů? Jak se od sebe liší? A kdy má smysl některý z nich použít?

Pojďme se na ně podívat.

CLI v low-code světě? Proč ne.

CLI (Command Line Interface) je způsob komunikace se softwarem prostřednictvím textových příkazů.

Místo toho, abychom otevřeli administrační portál, procházeli jednotlivé obrazovky a klikali na tlačítka, můžeme potřebnou operaci provést přímo z terminálu.

Například:

pac solution list

Tento jednoduchý příkaz vypíše seznam solutions v aktuálně připojeném Dataverse prostředí.

Stejnou informaci bychom samozřejmě našli i prostřednictvím Power Apps portálu. Rozdíl spočívá ve způsobu, jakým k ní přistupujeme.

CLI nám přináší několik výhod:

  • Automatizace: Opakované úlohy můžeme převést do skriptů.

  • Rychlost: Některé operace provedeme jediným příkazem.

  • Opakovatelnost: Stejný postup lze použít v různých prostředích.

  • CI/CD: CLI lze zapojit do automatizovaných procesů nasazování.

  • Integrace s AI: Příkazy mohou být využívány také AI coding agenty s odpovídajícími oprávněními.

CLI samozřejmě nenahrazuje grafické rozhraní. Rozšiřuje možnosti, jak s platformou pracovat.

A ve světě, kde chceme stále více automatizovat, je to poměrně zásadní výhoda.

Power Platform CLI (PAC) – švýcarský nůž pro vývojáře

Začněme nástrojem, který je pravděpodobně nejznámější.

Microsoft Power Platform CLI, dostupné prostřednictvím příkazu pac, představuje univerzální nástroj pro vývoj, správu a automatizaci různých částí Power Platform.

Jeho využití je široké. Najdeme zde příkazy pro správu prostředí, Dataverse solutions, PCF komponent, plug-inů nebo generování modelů pro práci s Dataverse.

Připojení k prostředí

Základním krokem je autentizace.

pac auth create --environment https://yourorg.crm4.dynamics.com

Po úspěšném přihlášení můžeme ověřit aktuální připojení:

pac auth who

Pokud pracujeme s více prostředími, můžeme si vytvořit samostatné autentizační profily.

pac auth list
pac auth select --index 2

To je užitečné zejména v situacích, kdy pravidelně přecházíme mezi DEV, TEST a PROD prostředím.

Práce se solutions

Jednou z nejdůležitějších oblastí PAC je Application Lifecycle Management (ALM).

Podívejme se na jednoduchý příklad:

# Seznam solutions
pac solution list

# Export solution
pac solution export --name MySolution --path ./MySolution.zip

# Rozbalení solution
pac solution unpack --zipfile ./MySolution.zip --folder ./MySolution

# Import solution
pac solution import --path ./MySolution.zip

Na první pohled se jedná o operace, které můžeme provádět také prostřednictvím grafického rozhraní.

Význam CLI se však projeví především ve chvíli, kdy tyto operace začneme automatizovat.

Můžeme například exportovat solution z vývojového prostředí, rozbalit její obsah, uložit změny do Gitu a následně připravit automatizovaný deployment.

Tím se dostáváme od manuální správy komponent k řízenému procesu vývoje a nasazování.

PAC není jen o solutions

Kromě ALM nabízí PAC také řadu dalších příkazových skupin.

PříkazOblast použití
pac authAutentizace a profily
pac envSpráva prostředí
pac solutionSolutions a ALM
pac pcfVývoj PCF komponent
pac pluginDataverse plug-iny
pac modelbuilderGenerování Dataverse modelů
pac orgOperace nad Dataverse organizací

Například pro vývojáře .NET může být zajímavý ModelBuilder, který na základě Dataverse metadat generuje C# modely.

pac modelbuilder build --outdirectory ./Models

Výsledné třídy můžeme následně použít například při vývoji Dataverse plug-inů nebo integračních služeb.

Kdy tedy PAC použít?

Především pokud řešíme vývoj a správu Power Platform komponent, solutions, deploymenty nebo automatizaci ALM procesů.

Power Apps CLI (PA) – když low-code nestačí

Druhým nástrojem je Power Apps CLI, dostupné prostřednictvím příkazu pa.

Možná vás napadne otázka: Proč Microsoft potřebuje další CLI, když už máme PAC?

Odpověď souvisí s novým přístupem k vývoji aplikací v Power Platform.

Power Apps Code Apps

Tradičně jsme zvyklí vytvářet aplikace prostřednictvím Canvas Apps nebo Model-driven Apps.

Code Apps ale přinášejí další možnost.

Vývojář může aplikaci vytvářet pomocí standardních webových technologií, například Reactu a TypeScriptu, a následně ji publikovat do Power Platform.

Získává tak větší kontrolu nad uživatelským rozhraním, strukturou aplikace a použitými knihovnami.

Současně může využívat možnosti platformy, například autentizaci nebo připojení k dostupným datovým zdrojům.

A právě zde přichází na řadu PA CLI.

Instalace a základní příkazy

Power Apps CLI se distribuuje prostřednictvím npm.

npm install --global @microsoft/power-apps-cli

Po instalaci se můžeme přihlásit:

pa auth login

Následně můžeme inicializovat Code App v připraveném webovém projektu:

pa app init

A spustit její lokální prostředí:

pa app run

Po dokončení vývoje lze aplikaci publikovat:

pa app push

Samotné PA CLI přitom nenahrazuje běžné webové vývojářské nástroje. Stále pracujeme se zdrojovým kódem, závislostmi a build procesem. PA zajišťuje především integraci aplikace s Power Platform.

Připojení k Dataverse

Zajímavou funkcionalitou PA CLI je možnost vyhledávat dostupné Dataverse actions a functions.

pa app find-dataverse-api

Vybranou operaci potom můžeme připojit ke Code App pomocí:

pa app add dataverse-api

Podobně můžeme pracovat také s Power Platform konektory nebo Power Automate flows.

To vytváří zajímavou kombinaci: vlastní webové uživatelské rozhraní, ale business logika a data dostupná prostřednictvím Power Platform.

A co PAC Code?

Pokud jste se s Code Apps již setkali, možná znáte příkazy jako pac code init nebo pac code push.

Tyto příkazy představují starší přístup k práci s Code Apps.

Microsoft nyní doporučuje používat nové npm-based PA CLI a plánuje postupné ukončení podpory starších příkazů pac code.

Pro nové projekty proto dává smysl začít rovnou s PA.

Kdy tedy PA použít?

Pokud chceme vytvářet Power Apps Code Apps pomocí webových technologií a potřebujeme je integrovat nebo publikovat do Power Platform.

Dataverse CLI – data, API a AI přímo z terminálu

Třetím a zároveň nejnovějším nástrojem v našem přehledu je Microsoft Dataverse CLI.

Na rozdíl od PAC a PA se zaměřuje především na přímou interakci s Dataverse.

A zde už nejde jen o správu solutions nebo vývoj aplikací.

Dataverse CLI umožňuje pracovat se záznamy, dotazovat se na data, objevovat a volat dostupná API, pracovat s AI skills nebo vystavit Dataverse prostřednictvím Model Context Protocol (MCP).

Nástroj je aktuálně dostupný v režimu Preview, takže se jeho možnosti mohou dále vyvíjet.

Instalace a přihlášení

Podobně jako PA se i Dataverse CLI distribuuje prostřednictvím npm.

npm install -g @microsoft/dataverse

Následně se můžeme připojit k prostředí:

dataverse auth create --environment https://yourorg.crm4.dynamics.com

Informace o aktivním připojení získáme příkazem:

dataverse org who

Zajímavostí je kompatibilita autentizačních profilů s Power Platform CLI.

Dataverse CLI: přímé dotazy na data, API a propojená ERP prostředí
Dataverse CLI: přímé dotazy na data, API a propojená ERP prostředí

Práce s daty

Jednou z hlavních výhod Dataverse CLI je možnost přímo pracovat se záznamy.

Můžeme je číst, vytvářet, aktualizovat, mazat nebo provádět upsert operace.

Například získání deseti zákazníků:

dataverse data query --table accounts --select "name,accountnumber" --top 10

Pokud potřebujeme složitější dotaz, můžeme použít také SQL-like syntaxi:

dataverse data query --sql "SELECT name, accountnumber FROM account"

Podporovány jsou rovněž dotazy prostřednictvím FetchXML.

To je zajímavé zejména pro vývojáře Dynamics 365, kteří potřebují rychle ověřit data, otestovat dotaz nebo analyzovat obsah prostředí.

Uživatel přitom nemusí otevírat aplikaci Dynamics 365 ani spouštět samostatný SQL nebo REST klient.

Práce s API

Další významnou oblastí je skupina příkazů api.

Ta umožňuje objevovat a volat API dostupná v prostředí Dataverse, včetně vlastních Custom APIs.

Pokud například vyvíjíme vlastní business logiku dostupnou prostřednictvím Custom API, CLI může představovat jednoduchý způsob jejího testování.

Nemusíme pro každé ověření připravovat samostatnou aplikaci.

Dataverse CLI a MCP

Jednou z nejzajímavějších vlastností nového CLI je integrace s Model Context Protocol (MCP).

MCP představuje standardizovaný způsob, jakým mohou AI asistenti komunikovat s externími systémy.

Dataverse CLI umožňuje spustit MCP server, přes který může kompatibilní AI klient přistupovat k podporovaným operacím prostředí.

Například:

dataverse mcp https://yourorg.crm4.dynamics.com

Představme si scénář, kdy se AI asistenta zeptáme:

„Najdi mi zákazníky, kteří byli vytvořeni během posledního týdne.“

Pokud je AI klient správně nakonfigurován a má dostupné odpovídající nástroje, může potřebný dotaz provést prostřednictvím MCP a Dataverse.

Není tedy nutné, aby uživatel ručně sestavoval FetchXML nebo OData dotaz.

To samozřejmě neznamená, že AI asistent automaticky získává přístup ke všem datům.

Stále platí oprávnění uživatele, bezpečnostní model Dataverse a nastavení přístupu k MCP. Pro použití MCP je navíc potřeba příslušná konfigurace prostředí a administrátorský souhlas.

AI Skills v Dataverse

Dataverse CLI podporuje také správu AI skills uložených v Dataverse.

Například jejich seznam můžeme získat příkazem:

dataverse skill list

K dispozici jsou také operace pro nahrávání, stahování a mazání skills.

Tady se dostáváme k zajímavému architektonickému konceptu.

Dataverse nemusí sloužit pouze jako úložiště obchodních dat. Může poskytovat také definice znovupoužitelných schopností pro AI agenty.

Skill může například popisovat, jakým způsobem má agent pracovat s konkrétní business oblastí, jaké informace jsou důležité a jak má postupovat při řešení určitého scénáře.

Samotný skill však automaticky neposkytuje nové oprávnění ani nástroje. Agent musí mít k dispozici odpovídající možnosti pro provedení požadovaných operací.

CLI nám umožňuje tyto skills spravovat z příkazové řádky.

Finance and Operations

Dataverse CLI není omezené výhradně na CRM scénáře.

Obsahuje také podporu vybraných operací nad propojeným prostředím Dynamics 365 Finance and Operations.

Například můžeme získat seznam ERP batch jobs:

dataverse erp batch list

To ukazuje další možný směr využití nástroje v širším ekosystému Dynamics 365.

Kdy tedy Dataverse CLI použít?

Pokud potřebujeme přímo pracovat s Dataverse daty, testovat API nebo experimentovat s integrací Dataverse do AI nástrojů prostřednictvím MCP.

Preview funkce nejsou určené pro produkční použití. Dataverse CLI bych proto zatím zkoušel ve vývojovém nebo testovacím prostředí.

Tři CLI, tři různé přístupy

Nyní už víme, že všechny tři nástroje mají své místo.

Pojďme si je porovnat:

OblastPAC CLIPA CLIDataverse CLI
Hlavní účelALM a vývojCode AppsData, API a AI
Správa připojeníAnoAnoAno
Správa solutionsAnoOmezeněNení hlavní účel
Vývoj PCFAnoNeNe
Vývoj Code AppsStarší příkazyAnoNe
Přímé dotazy na dataOmezeněPřes aplikaciAno
Custom APIVývojové nástrojeIntegrace do aplikaceDiscovery a volání
MCP serverNení hlavní účelNeAno
AI SkillsNejde o hlavní účelNejde o hlavní účelAno

Je důležité si uvědomit, že tyto nástroje si nutně nekonkurují.

Naopak se mohou velmi dobře doplňovat.

Typický vývojář Dynamics 365 může například používat PAC pro správu solutions, Dataverse CLI pro analýzu dat a PA CLI ve chvíli, kdy potřebuje vytvořit novou Code App.

CLI a AI – začátek další změny?

Na závěr bych se ještě krátce vrátil k AI.

CLI nástroje nejsou žádnou novinkou. Ve vývojářském světě existují desítky let.

Jejich význam se ale postupně mění.

Dříve byly především nástrojem pro vývojáře a administrátory. Dnes se mohou stát také součástí pracovních postupů AI coding agentů.

A právě v tom vidím zajímavou změnu.

Pokud AI agent disponuje možností bezpečně spouštět CLI příkazy, může například exportovat solution, analyzovat její strukturu nebo připravit změny v lokálním projektu.

Dataverse CLI přidává další možnost prostřednictvím MCP, které umožňuje AI klientům komunikovat s Dataverse přes standardizované rozhraní.

Místo toho, abychom pro každý jednotlivý scénář vytvářeli speciální integraci, můžeme využít již dostupné nástroje a jejich rozhraní.

Samozřejmě pouze v rozsahu odpovídajících oprávnění a bezpečnostních pravidel.

To otevírá zajímavé možnosti zejména pro vývojářské a administrativní scénáře, kde lze kombinovat automatizaci, existující nástroje a schopnosti AI agentů.

AI agent komunikuje s Dataverse prostřednictvím CLI a MCP
AI agent komunikuje s Dataverse prostřednictvím CLI a MCP

Kde začít?

Pokud jste s CLI dosud nepracovali, není nutné učit se všechny tři nástroje najednou.

Začněte tím, který odpovídá vaší práci.

Pokud jste Dynamics 365 vývojář a pracujete především se solutions, plug-iny nebo PCF komponentami, začněte s PAC.

Pokud vás zajímají Power Apps Code Apps a chcete vytvářet aplikace pomocí Reactu nebo TypeScriptu, podívejte se na PA.

A pokud potřebujete přímo pracovat s Dataverse daty, testovat Custom APIs nebo experimentovat s MCP, vyzkoušejte Dataverse CLI.

Každý z těchto nástrojů má vlastní nápovědu:

pac --help
pa --help
dataverse --help

Je to jednoduchý způsob, jak začít a postupně objevovat jednotlivé možnosti.

První kroky a nápověda pro PAC, PA a Dataverse CLI
První kroky a nápověda pro PAC, PA a Dataverse CLI

Co si z toho odnést

Power Platform byla od začátku navrhována tak, aby zpřístupnila vývoj aplikací širšímu okruhu uživatelů.

To ale neznamená, že bychom se při práci s ní měli omezovat pouze na grafická rozhraní.

Dnes máme k dispozici hned několik CLI nástrojů, které nám umožňují pracovat s platformou různými způsoby.

PAC nám pomáhá s vývojem, správou komponent a application lifecycle managementem.

PA přináší nástroje pro vývoj Power Apps Code Apps pomocí moderních webových technologií.

Dataverse CLI umožňuje přímou práci s daty, API a otevírá zajímavé možnosti propojení Dataverse s AI agenty prostřednictvím MCP.

Každý z těchto nástrojů řeší trochu jiný problém, ale společně ukazují, že Power Platform není pouze low-code prostředí.

Je to platforma, která nabízí stále více možností také pro profesionální vývojáře, architekty a automatizované procesy.

A někdy je opravdu jeden příkaz efektivnější než deset kliknutí.

Zdroje a další čtení

Pro podrobnosti a aktuální parametry příkazů doporučuji oficiální dokumentaci Microsoft Learn. Zejména u Preview nástrojů se mohou dostupné možnosti měnit.

Technologie, na kterých stavím