Uniform Siphon - Sitecore Push Command Reference

This page is the command-line reference for the load phase of a Sitecore migration — pushing the generated files into your Uniform project. Three of these commands belong to Siphon.Migration.exe (uniform-upload-assets, post-process-assets, uniform-push-releases); the Canvas and Content serialization is pushed with the Uniform Sync CLI (@uniformdev/cli), wired up as npm scripts in the migration output folder.

The executables, configuration/environment-variable rules, logging, and the common options shared by every command are documented on the common reference. Each switch below lists its environment variable.

If you are migrating for the first time, start with the Sitecore migration walkthrough.

Uniform connection settings

The --UNIFORM_API_KEY, --UNIFORM_PROJECT_ID and --UNIFORM_CLI_BASE_URL parameters are shared by every command that talks to Uniform, so they are normally set once as the global variables SIPHON_UNIFORM_API_KEY, SIPHON_UNIFORM_PROJECT_ID and SIPHON_UNIFORM_CLI_BASE_URL. The API key needs the Developer role.


Upload the downloaded media binaries to the Uniform Asset Library. Run it once the media has been downloaded; --skipUnusedMedia limits the upload to media your content actually references.

PS C:\migration> C:\siphon\Siphon.Migration.exe uniform-upload-assets ` --inputDir C:\migration\data\items ` --mediaRootDir "C:\migration\data\media" ` --UNIFORM_API_KEY "your_api_key" ` --UNIFORM_PROJECT_ID "your_project_id" ` --skipUnusedMedia

SIPHON_UNIFORM_UPLOAD_ASSETS_INPUTDIR = <path> (--inputDir)
Folder of the downloaded Sitecore items (used to resolve which media exist and, with --skipUnusedMedia, which are referenced).

SIPHON_UNIFORM_API_KEY = <string> (--UNIFORM_API_KEY)
Uniform API key (Developer role).

SIPHON_UNIFORM_PROJECT_ID = <string> (--UNIFORM_PROJECT_ID)
Target Uniform project ID.

SIPHON_UNIFORM_UPLOAD_ASSETS_MEDIAROOTDIR = (empty)|<path> (--mediaRootDir)
Folder holding the downloaded binaries (the download-media --mediaRootDir).

SIPHON_UNIFORM_UPLOAD_ASSETS_STARTPATH = (empty)|<path> (--startPath)
Media root item to scope the upload to.

SIPHON_UNIFORM_UPLOAD_ASSETS_SKIPUNUSEDMEDIA = true|false (--skipUnusedMedia)
Upload only media directly referenced by previously-downloaded content. Default: false.

SIPHON_UNIFORM_UPLOAD_ASSETS_SKIPUNSUPPORTEDMIMETYPES = true|false (--skipUnsupportedMimeTypes)
Controls what happens to media whose MIME type Uniform does not support. By default (flag off) each unsupported file is zipped individually into its own application/zip archive — a type Uniform accepts — and that zip is uploaded in the asset's place (the asset name gains a .zip suffix), so the file still lands in the library instead of being lost. Set the flag to restore the legacy behavior: skip every unsupported file with a warning and upload nothing for it.

SIPHON_UNIFORM_UPLOAD_ASSETS_UNSUCCESSFULUPLOADMEDIAFILENAME = (empty)|<string> (--unsuccessfulUploadMediaFileName)
Override the name of the _unsuccessful-upload-media-{timestamp}.json report.

SIPHON_UNIFORM_CLI_BASE_URL = (empty)|<url> (--UNIFORM_CLI_BASE_URL)
Uniform API base URL. Default: https://uniform.app.

SIPHON_UNIFORM_UPLOAD_ASSETS_THREADS = (empty)|<int> (--threads)
Number of parallel asset uploads. Default: 4.

SIPHON_UNIFORM_UPLOAD_ASSETS_RETRYCOUNT = (empty)|<int> (--RetryCount)
Retry attempts for each media upload before it is recorded as unsuccessful. Default: 3.

SIPHON_UNIFORM_UPLOAD_ASSETS_TIMEOUT = (empty)|<int> ms (--Timeout)
Timeout for each Uniform API request, in milliseconds. Default: 60000 (must be > 100).

SIPHON_UNIFORM_UPLOAD_ASSETS_SKIPCLEARINGFOLDERS = true|false (--skipClearingFolders)
Do not clear the output sub-folders before writing — use it when combining several runs into one folder. Default: false.

SIPHON_UNIFORM_UPLOAD_ASSETS_CACHEDIR = (empty)|<path> (--cacheDir)
Folder for the asset caches; defaults to --inputDir.

Plus the common options (--languages, logging).


post-process-assets#

Resolve the asset placeholder URLs left in the generated serialization to real Uniform delivery URLs.

During Canvas/Content generation, media embedded in rich-text fields, general links, and image fields is written as a placeholder of the form /uniform_asset/{uniform-asset-id} — the real delivery URL isn't known at generation time. post-process-assets scans every generated *.json file, looks each asset up in Uniform by that id, and rewrites the placeholder to the asset's real URL. Without this step those references stay as /uniform_asset/… placeholders and the site renders broken images and media links — and nothing in validate/deploy/publish flags it, so it is easy to miss.

Run it after the assets have been uploaded (with uniform-upload-assets, so every id resolves) and before pushing the Canvas/Content, so the pushed serialization already carries real URLs. Ids that were never uploaded are left untouched, with a warning in the log.

PS C:\migration> C:\siphon\Siphon.Migration.exe post-process-assets ` --inputDir C:\migration\uniform ` --UNIFORM_API_KEY "your_api_key" ` --UNIFORM_PROJECT_ID "your_project_id"

SIPHON_POST_PROCESS_ASSETS_INPUTDIR = <path> (--inputDir)
Folder of the generated Uniform serialization to rewrite in place (the migration --outputDir).

SIPHON_UNIFORM_API_KEY = <string> (--UNIFORM_API_KEY)
Uniform API key (Developer role); used to look up each asset.

SIPHON_UNIFORM_PROJECT_ID = <string> (--UNIFORM_PROJECT_ID)
Project the assets were uploaded to.

SIPHON_POST_PROCESS_ASSETS_CACHEASSETS = true|false (--cacheAssets)
Cache the asset lookups (in .assets.cache) to speed up re-runs on the same data. Invalidate it if the assets are re-uploaded. Default: false.

SIPHON_UNIFORM_CLI_BASE_URL = (empty)|<url> (--UNIFORM_CLI_BASE_URL)
Uniform API base URL. Default: https://uniform.app.

SIPHON_POST_PROCESS_ASSETS_THREADS = (empty)|<int> (--threads)
Number of parallel workers rewriting the serialization files. Default: 4.

SIPHON_POST_PROCESS_ASSETS_RETRYCOUNT = (empty)|<int> (--RetryCount)
Retry attempts for each asset lookup before it is recorded as unsuccessful. Default: 3.

SIPHON_POST_PROCESS_ASSETS_TIMEOUT = (empty)|<int> ms (--Timeout)
Timeout for each Uniform API request, in milliseconds. Default: 60000 (must be > 100).

SIPHON_POST_PROCESS_ASSETS_SKIPCLEARINGFOLDERS = true|false (--skipClearingFolders)
Do not clear the output sub-folders before writing — use it when combining several runs into one folder. Default: false.

SIPHON_POST_PROCESS_ASSETS_CACHEDIR = (empty)|<path> (--cacheDir)
Folder for the asset-lookup cache (.assets.cache); defaults to --inputDir.

Plus the common options (--languages, logging).


Push the releases generated by uniform-canvas --releases to Uniform.

PS C:\migration> C:\siphon\Siphon.Migration.exe uniform-push-releases ` --inputDir C:\migration\uniform ` --timezone "Europe/London" ` --UNIFORM_API_KEY "your_api_key" ` --UNIFORM_PROJECT_ID "your_project_id"

SIPHON_UNIFORM_PUSH_RELEASES_INPUTDIR = <path> (--inputDir)
Folder holding the generated Uniform files (the migration --outputDir, which contains the releases).

SIPHON_UNIFORM_PUSH_RELEASES_TIMEZONE = <string> (--timezone)
A timezone from the Uniform platform; the release schedule is interpreted in it, e.g. Europe/London.

SIPHON_UNIFORM_API_KEY = <string> (--UNIFORM_API_KEY)
Uniform API key (Developer role).

SIPHON_UNIFORM_PROJECT_ID = <string> (--UNIFORM_PROJECT_ID)
Target Uniform project ID.

SIPHON_UNIFORM_CLI_BASE_URL = (empty)|<url> (--UNIFORM_CLI_BASE_URL)
Uniform API base URL. Default: https://uniform.app.

SIPHON_UNIFORM_PUSH_RELEASES_TIMEOUT = (empty)|<int> ms (--Timeout)
Timeout for each Uniform API request, in milliseconds. Default: 60000 (must be > 100).

SIPHON_UNIFORM_PUSH_RELEASES_SKIPCLEARINGFOLDERS = true|false (--skipClearingFolders)
Do not clear the output sub-folders before writing — use it when combining several runs into one folder. Default: false.

SIPHON_UNIFORM_PUSH_RELEASES_CACHEDIR = (empty)|<path> (--cacheDir)
Folder for the caches; defaults to --inputDir.

Plus the common options (--defaultLanguage, --languages, logging).


The generated Canvas and Content serialization is pushed with the Uniform Sync CLI, exposed as npm scripts in the migration output folder. Run npm install there once before the first push.

Push the generated Canvas data (project map nodes, compositions, component definitions) to the Uniform project.

cd C:\migration\uniform npm install npm run uniform:push:canvas

Push the generated Content data (content types and entries) to the Uniform project.

cd C:\migration\uniform npm run uniform:push:content # For parallel processing (4 threads) npm run uniform:push:content-p4