npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

process-migrator

v0.9.23

Published

Proces import/export Node.js application

Downloads

242

Readme

VSTS Process Migrator for Node.js

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.

Getting Started

Run

To run this tool you must have both NodeJS and NPM installed. They are available as a single package and instructions are below.

  • Install Node from https://nodejs.org/en/download/ or https://nodejs.org/en/download/package-manager/

  • Install this package through 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.

    CONFIGURATION FILE HAS PAT, RIGHT PROTECT IT !
  • Run process-migrator [--mode=<migrate(default)/import/export>] [--config=<your-configuration-file-path>]

Contribute

  • From the root of source, run npm install
  • Build by npm run build
  • Execute through node build\nodejs\nodejs\Main.js <args>

Documentation

Command line parameters
  • --mode: Optional, default as 'migrate'. Mode of the execution, can be 'migrate' (export and then import), 'export' (export only) or 'import' (import only).
  • --config: Optional, default as './configuration.json'. Specify the configuration file.
Configuration file structure
  • This file is in JSONC format, you don't have to remove comments lines for it to work.
  • The AccountUrl for the source and target is the root URL to the organization. Example: https://dev.azure.com/MyOrgName.
  • The Personal Access Token (PAT) for both the source and target must have the Work Items 'Read, Write, & Manage' permission scope.
{
    "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.",
    }
}
Notes
  • If extensions used by source account are not available in target account, import MAY fail
    1. Control/Group/Page contributions on work item form are by default imported, so it will fail if the extension is not available on target account. use 'skipImportFormContributions' option to skip importing custom controls.
  • If identities used in field default value or rules are not available in target account, import WILL fail
    1. For rules you may use 'continueOnRuleImportFailure' option to proceed with rest of import when such error is occurred.
    2. For identity field default value, you may use 'continueOnFieldDefaultValueFailure' option to proceed with rest of import when such error is occurred.
  • Personal Access Token (PAT) needs to allow "Read, write, & manage" access for the "Work Items" scope
    1. The tool needs to be able to modify the definition of work items and work item types (to add custom fields for example).