Tfs WorkItem Bulk Edit Processor

This processor allows you to make changes in place where we load from the Target and update the Target. This is used for bulk updates with the most common reason being a process template change.

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

This processor allows you to make changes in place where we load from the Target and update the Target. This is used for bulk updates with the most common reason being a process template change.

top

Options

Parameter
Type
Description
Default Value
Parameter:
Enabled
Type:
Boolean
Description:
If set to true then the processor will run. Set to false and the processor will not run.
Default Value:
missing XML code comments
Parameter:
Enrichers
Type:
List
Description:
List of Enrichers that can be used to add more features to this processor. Only works with Native Processors and not legacy Processors.
Default Value:
missing XML code comments
Parameter:
FilterWorkItemsThatAlreadyExistInTarget
Type:
Boolean
Description:
This loads all of the work items already saved to the Target and removes them from the Source work item list prior to commencing the run. While this may take some time in large data sets it reduces the time of the overall migration significantly if you need to restart.
Default Value:
true
Parameter:
PauseAfterEachWorkItem
Type:
Boolean
Description:
Pause after each work item is migrated
Default Value:
Not specified
Parameter:
RefName
Type:
String
Description:
Refname will be used in the future to allow for using named Options without the need to copy all of the options.
Default Value:
missing XML code comments
Parameter:
SourceName
Type:
String
Description:
This is the IEndpoint that will be used as the source of the Migration. Can be null for a write only processor.
Default Value:
missing XML code comments
Parameter:
TargetName
Type:
String
Description:
This is the IEndpoint that will be used as the Target of the Migration. Can be null for a read only processor.
Default Value:
missing XML code comments
Parameter:
WhatIf
Type:
Boolean
Description:
Gets or sets a value indicating whether to run in “what if” mode without making actual changes to work items.
Default Value:
Not specified
Parameter:
WIQLQuery
Type:
String
Description:
A work item query based on WIQL to select only important work items. To migrate all leave this empty. See WIQL Query Bits
Default Value:
AND [Microsoft.VSTS.Common.ClosedDate] = '' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request')
Parameter:
WorkItemCreateRetryLimit
Type:
Int32
Description:
beta If set to a number greater than 0 work items that fail to save will retry after a number of seconds equal to the retry count. This allows for periodic network glitches not to end the process.
Default Value:
5
Parameter:
WorkItemIDs
Type:
IList
Description:
A list of work items to import
Default Value:
[]
top

Samples

top

Sample

Sample

There is no sample, but you can check the classic below for a general feel.
top

Defaults

Defaults

There are no defaults! Check the sample for options!
top

Classic

Classic

{
  "$type": "TfsWorkItemBulkEditProcessorOptions",
  "Enabled": false,
  "WhatIf": false,
  "WIQLQuery": "SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [@ReflectedWorkItemIdField] = ''  AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc",
  "WorkItemIDs": null,
  "FilterWorkItemsThatAlreadyExistInTarget": false,
  "PauseAfterEachWorkItem": false,
  "WorkItemCreateRetryLimit": 0,
  "SourceName": null,
  "TargetName": null
}
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.processors.tfsworkitembulkeditprocessor.json",
  "title": "TfsWorkItemBulkEditProcessor",
  "description": "This processor allows you to make changes in place where we load from the Target and update the Target. This is used for bulk updates with the most common reason being a process template change.",
  "type": "object",
  "properties": {
    "enabled": {
      "description": "If set to `true` then the processor will run. Set to `false` and the processor will not run.",
      "type": "boolean"
    },
    "enrichers": {
      "description": "List of Enrichers that can be used to add more features to this processor. Only works with Native Processors and not legacy Processors.",
      "type": "array"
    },
    "filterWorkItemsThatAlreadyExistInTarget": {
      "description": "This loads all of the work items already saved to the Target and removes them from the Source work item list prior to commencing the run. While this may take some time in large data sets it reduces the time of the overall migration significantly if you need to restart.",
      "type": "boolean",
      "default": "true"
    },
    "pauseAfterEachWorkItem": {
      "description": "Pause after each work item is migrated",
      "type": "boolean",
      "default": "false"
    },
    "refName": {
      "description": "`Refname` will be used in the future to allow for using named Options without the need to copy all of the options.",
      "type": "string"
    },
    "sourceName": {
      "description": "This is the `IEndpoint` that will be used as the source of the Migration. Can be null for a write only processor.",
      "type": "string"
    },
    "targetName": {
      "description": "This is the `IEndpoint` that will be used as the Target of the Migration. Can be null for a read only processor.",
      "type": "string"
    },
    "whatIf": {
      "description": "Gets or sets a value indicating whether to run in \"what if\" mode without making actual changes to work items.",
      "type": "boolean",
      "default": "false"
    },
    "wIQLQuery": {
      "description": "A work item query based on WIQL to select only important work items. To migrate all leave this empty. See [WIQL Query Bits](#wiql-query-bits)",
      "type": "string",
      "default": "AND  [Microsoft.VSTS.Common.ClosedDate] = '' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request')"
    },
    "workItemCreateRetryLimit": {
      "description": "**beta** If set to a number greater than 0 work items that fail to save will retry after a number of seconds equal to the retry count. This allows for periodic network glitches not to end the process.",
      "type": "integer",
      "default": "5"
    },
    "workItemIDs": {
      "description": "A list of work items to import",
      "type": "array",
      "default": "[]"
    }
  }
}
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