deploy
Deploy item definitions from a local directory to a workspace
Authentication scope: fabric
Preview what would be deployed (create/update/delete/skip)
fabio deploy plan| Flag | Type | Required | Description |
|---|---|---|---|
--source |
string |
No | Source directory with .platform item definitions (local path or cloned git repo) |
--workspace |
string |
No | Target workspace ID or name |
--item-types |
string |
No | Only deploy specific item types (comma-separated) |
--delete-orphans |
bool |
No | Include delete actions for items not in source |
--allow-unresolved |
bool |
No | Don’t error on unresolved logical ID references |
--force-all |
bool |
No | Skip content-hash comparison, show all items as needing update |
--out |
string |
No | Save plan to a file for later apply |
--parameters |
string |
No | Parameter file for environment-aware substitution (JSON) |
--env |
string |
No | Target environment name for parameter substitution (e.g., “prod”, “staging”) |
--config |
string |
No | Deploy config file (JSON or YAML) with per-environment settings |
--git-diff |
string |
No | Only deploy items changed since this git ref (e.g., HEAD~1, main) |
--exclude-regex |
string |
No | Exclude items whose display name matches this regex |
--include-items |
string |
No | Only include specific items (format: “Name.Type”, comma-separated) |
--include-folders |
string |
No | Only include items in these folder paths (comma-separated, e.g., “/ETL,/Reports”) |
--exclude-folders |
string |
No | Exclude items in these folder paths (comma-separated) |
--allow-delete-types |
string |
No | Item types permitted for deletion (comma-separated; protects Lakehouse, Warehouse, etc.) |
--no-folders |
bool |
No | Skip workspace folder management (create/move/delete folders) |
--no-workspace-id-replace |
bool |
No | Skip automatic workspace ID replacement (00000000-… → target workspace) |
Examples
fabio deploy plan --source ./fabric-items/ --workspace "Staging"fabio deploy plan --source ./fabric-items/ --workspace "Staging" --out plan.jsonOutput fields: workspace_id, changes, warnings, errors, summary
Read-only · Returns object
Execute deployment (create/update/delete items)
fabio deploy apply| Flag | Type | Required | Description |
|---|---|---|---|
--source |
string |
No | Source directory with .platform item definitions (local path or cloned git repo) |
--workspace |
string |
No | Target workspace ID or name |
--plan |
string |
No | Apply a previously saved plan file |
--item-types |
string |
No | Only deploy specific item types (comma-separated) |
--delete-orphans |
bool |
No | Delete items not in source |
--allow-unresolved |
bool |
No | Proceed despite unresolved references |
--fail-fast |
bool |
No | Stop on first failure (default: continue remaining items) |
--force-all |
bool |
No | Skip content-hash comparison, redeploy all items |
--concurrency |
integer |
No | Max parallel operations per type batch Default: 8. |
--parameters |
string |
No | Parameter file for environment-aware substitution (JSON) |
--env |
string |
No | Target environment name for parameter substitution (e.g., “prod”, “staging”) |
--no-post-hooks |
bool |
No | Skip post-deploy hooks (semantic model refresh, environment publish) |
--config |
string |
No | Deploy config file (JSON or YAML) with per-environment settings |
--git-diff |
string |
No | Only deploy items changed since this git ref (e.g., HEAD~1, main) |
--exclude-regex |
string |
No | Exclude items whose display name matches this regex |
--include-items |
string |
No | Only include specific items (format: “Name.Type”, comma-separated) |
--include-folders |
string |
No | Only include items in these folder paths (comma-separated) |
--exclude-folders |
string |
No | Exclude items in these folder paths (comma-separated) |
--allow-delete-types |
string |
No | Item types permitted for deletion (comma-separated) |
--no-folders |
bool |
No | Skip workspace folder management |
--no-workspace-id-replace |
bool |
No | Skip automatic workspace ID replacement |
--shortcut-exclude-regex |
string |
No | Exclude shortcuts matching this regex during reconciliation |
--post-run-item |
string |
No | Run a pipeline or notebook after deployment completes (data orchestration) |
--strategy |
enum |
No | Deployment execution strategy One of: default, bulk, sequential. |
--verify |
bool |
No | After applying, re-fetch the applied items and confirm they converged to the source (content-hash for definition items, existence for platform-only items). Adds a verification block to the output. Report-only: never changes the exit code |
Examples
fabio deploy apply --source ./fabric-items/ --workspace "Staging"fabio deploy apply --source ./fabric-items/ --workspace "Staging" --dry-runfabio deploy apply --source ./fabric-items/ --workspace "Production" --parameters params.json --env prodfabio deploy apply --source ./fabric-items/ --workspace "Staging" --delete-orphansOutput fields: status, succeeded, failed, skipped, duration_ms, failures, post_hooks
Mutates state · Returns object
export
Section titled “export”Export workspace item definitions to a local directory
fabio deploy export --workspace <value> --dir <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Source workspace ID or name |
--dir |
string |
Yes | Output directory to write .platform items |
--item-types |
string |
No | Only export specific item types (comma-separated) |
--overwrite |
bool |
No | Overwrite existing files in output directory |
--concurrency |
string |
No | Max parallel getDefinition requests |
Examples
fabio deploy export --workspace "Production" --dir ./fabric-items/ --overwriteOutput fields: status, workspace_id, output_dir, total_items, exported, skipped
Read-only · Returns object
init-params
Section titled “init-params”Generate a parameters.json scaffold by scanning or diffing exported definitions
fabio deploy init-params --source <value>| Flag | Type | Required | Description |
|---|---|---|---|
--source |
string |
Yes | Source directory containing exported .platform items (e.g., dev workspace) |
--compare |
string |
No | Comparison directory to diff against (e.g., prod workspace export) |
--source-env |
string |
No | Environment name for the source directory (used in diff mode) |
--compare-env |
string |
No | Environment name for the comparison directory (used in diff mode) |
--out |
string |
No | Output file path for generated parameters.json |
--resolve-connections |
bool |
No | Auto-resolve connection GUIDs by looking up connections in the tenant |
Examples
fabio deploy init-params --source ./fabric-items/ --out params.jsonfabio deploy init-params --source ./dev-items/ --compare ./prod-items/ --source-env dev --compare-env prod --out params.jsonOutput fields: status, mode, source_items, rules_generated, guids_found
Read-only · Returns object
validate
Section titled “validate”Validate source directory locally (no API calls). Checks .platform files, item types, duplicate names/logical IDs, cross-references, and parameters
fabio deploy validate --source <value>| Flag | Type | Required | Description |
|---|---|---|---|
--source |
string |
Yes | Source directory containing Fabric item definitions with .platform files |
--parameters |
string |
No | Parameter file to validate (JSON) |
--env |
string |
No | Environment name to validate parameter lookups against |
Examples
fabio deploy validate --source ./fabric-items/Read-only · Returns object
