Skip to content

deploy

Deploy item definitions from a local directory to a workspace

Authentication scope: fabric

Preview what would be deployed (create/update/delete/skip)

Terminal window
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

Terminal window
fabio deploy plan --source ./fabric-items/ --workspace "Staging"
Terminal window
fabio deploy plan --source ./fabric-items/ --workspace "Staging" --out plan.json

Output fields: workspace_id, changes, warnings, errors, summary

Read-only · Returns object

Execute deployment (create/update/delete items)

Terminal window
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

Terminal window
fabio deploy apply --source ./fabric-items/ --workspace "Staging"
Terminal window
fabio deploy apply --source ./fabric-items/ --workspace "Staging" --dry-run
Terminal window
fabio deploy apply --source ./fabric-items/ --workspace "Production" --parameters params.json --env prod
Terminal window
fabio deploy apply --source ./fabric-items/ --workspace "Staging" --delete-orphans

Output fields: status, succeeded, failed, skipped, duration_ms, failures, post_hooks

Mutates state · Returns object

Export workspace item definitions to a local directory

Terminal window
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

Terminal window
fabio deploy export --workspace "Production" --dir ./fabric-items/ --overwrite

Output fields: status, workspace_id, output_dir, total_items, exported, skipped

Read-only · Returns object

Generate a parameters.json scaffold by scanning or diffing exported definitions

Terminal window
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

Terminal window
fabio deploy init-params --source ./fabric-items/ --out params.json
Terminal window
fabio deploy init-params --source ./dev-items/ --compare ./prod-items/ --source-env dev --compare-env prod --out params.json

Output fields: status, mode, source_items, rules_generated, guids_found

Read-only · Returns object

Validate source directory locally (no API calls). Checks .platform files, item types, duplicate names/logical IDs, cross-references, and parameters

Terminal window
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

Terminal window
fabio deploy validate --source ./fabric-items/

Read-only · Returns object