String Manipulator Tool

Used to process the String fields of a work item. This is useful for cleaning up data. It will limit fields to a max length and apply regex replacements based on what is configured. Each regex replacement is applied in order and can be enabled or disabled.

Last updated: July 28, 2025 | Edit this page | Discuss this page

Used to process the String fields of a work item. This is useful for cleaning up data. It will limit fields to a max length and apply regex replacements based on what is configured. Each regex replacement is applied in order and can be enabled or disabled.

top

Options

Parameter
Type
Description
Default Value
Parameter:
Enabled
Type:
Boolean
Description:
If set to true then the tool will run. Set to false and the processor will not run.
Default Value:
missing XML code comments
Parameter:
Manipulators
Type:
List
Description:
List of regex based string manipulations to apply to all string fields. Each regex replacement is applied in order and can be enabled or disabled.
Default Value:
{}
Parameter:
MaxStringLength
Type:
Int32
Description:
Max number of chars in a string. Applied last, and set to 1000000 by default.
Default Value:
1000000
top

Samples

top

Sample

Sample

{
  "MigrationTools": {
    "Version": "16.0",
    "CommonTools": {
      "StringManipulatorTool": {
        "Enabled": "True",
        "Manipulators": [
          {
            "$type": "RegexStringManipulator",
            "Description": "Remove invalid characters from the end of the string",
            "Enabled": "True",
            "Pattern": "[^( -~)\n\r\t]+",
            "Replacement": ""
          }
        ],
        "MaxStringLength": "1000000"
      }
    }
  }
}
top

Defaults

Defaults

{
  "MigrationTools": {
    "Version": "16.0",
    "CommonTools": {
      "StringManipulatorTool": {
        "Enabled": "True",
        "Manipulators": null,
        "MaxStringLength": "1000000"
      }
    }
  }
}
top

Classic

Classic

{
  "$type": "StringManipulatorToolOptions",
  "Enabled": true,
  "MaxStringLength": 1000000,
  "Manipulators": [
    {
      "Enabled": true,
      "Pattern": "[^( -~)\n\r\t]+",
      "Replacement": "",
      "Description": "Remove invalid characters from the end of the string"
    }
  ]
}
top

Metadata

top

Schema

This is the JSON schema that defines the structure and validation rules for this configuration.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://devopsmigration.io/schema/schema.tools.stringmanipulatortool.json",
  "title": "StringManipulatorTool",
  "description": "Used to process the String fields of a work item. This is useful for cleaning up data. It will limit fields to a max length and apply regex replacements based on what is configured. Each regex replacement is applied in order and can be enabled or disabled.",
  "type": "object",
  "properties": {
    "enabled": {
      "description": "If set to `true` then the tool will run. Set to `false` and the processor will not run.",
      "type": "boolean"
    },
    "manipulators": {
      "description": "List of regex based string manipulations to apply to all string fields. Each regex replacement is applied in order and can be enabled or disabled.",
      "type": "array",
      "default": "{}"
    },
    "maxStringLength": {
      "description": "Max number of chars in a string. Applied last, and set to 1000000 by default.",
      "type": "integer",
      "default": "1000000"
    }
  }
}
Project Information
Azure DevOps Marketplace
YouTube Channel
Maintainer

Created and maintained by Martin Hinshelwood of nkdagility.com

Getting Support
Community Support
Questions & Discussions

The first place to look for usage, configuration, and general help.

Commercial Support

We provide training, ad-hoc support, and full service migrations through our professional services.

Azure DevOps Migration Services
Documentation