This application provide you ability to automate the Process export/import across VSTS accounts through Node.js CLI.
NOTE: This only works with 'Inherited Process', for 'XML process' you may upload/download process as ZIP.
To run this tool you must have both NodeJS and NPM installed. They are available as a single package and instructions are below.
npm install process-migrator -g
Create and fill required information in config file configuration.json. See document section for details
Just run process-migrator
without any argument will create the file if it does not exist.
process-migrator [--mode=<migrate(default)/import/export>] [--config=<your-configuration-file-path>]
npm install
npm run build
node build\nodejs\nodejs\Main.js <args>
{
"sourceAccountUrl": "Source account url. Required in export/migrate mode, ignored in import mode.",
"sourceAccountToken": "!!TREAT AS PASSWORD!! In Azure DevOps click on user settings personal access tokens an generate a token for source account. Required in export/migrate mode, ignored in import mode.",
"targetAccountUrl": "Target account url. Required in import/migrate mode, ignored in export mode.",
"targetAccountToken": "!!TREAT AS PASSWORD!! In Azure DevOps click on user settings personal access tokens and generate a token for target account. Required in import/migrate mode, ignored in export mode.",
"sourceProcessName": "Source process name to export. Required in export/migrate mode, ignored in import mode.",
"targetProcessName": "Optional. Set to override process name in import/migrate mode.",
"options": {
"processFilename": "Optional File with process payload. Required in import mode, optional for export/migrate mode.",
"logLevel":"log level for console. Possible values are 'verbose'/'information'/'warning'/'error' or null.",
"logFilename":"Optional, file name for log. defaulted to 'output/processMigrator.log'.",
"overwritePicklist": "Optional, default to 'false'. Set as true to overwrite picklist if exists on target or import will fail when picklist entries varies across source and target.",
"continueOnRuleImportFailure": "Optional, default to 'false', set true to continue import on failure importing rules, warning will be provided.",
"skipImportFormContributions": "Optional, default to 'false', set true to skip import control contributions on work item form.",
}
}