Tfs WorkItem Delete Processor

The WorkItemDelete processor allows you to delete any amount of work items that meet the query. DANGER: This is not a recoverable action and should be use with extream caution.

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

The WorkItemDelete processor allows you to delete any amount of work items that meet the query. DANGER: This is not a recoverable action and should be use with extream caution.

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:
Gets or sets a value indicating whether to filter out work items that already exist in the target before deletion. Typically used to avoid deleting items that shouldn’t be removed.
Default Value:
missing XML code comments
Parameter:
PauseAfterEachWorkItem
Type:
Boolean
Description:
Gets or sets a value indicating whether to pause after each work item is deleted for review or debugging purposes.
Default Value:
missing XML code comments
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:
WIQLQuery
Type:
String
Description:
Gets or sets the WIQL query used to select work items for deletion. Should return a list of work item IDs.
Default Value:
SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc
Parameter:
WorkItemCreateRetryLimit
Type:
Int32
Description:
Gets or sets the number of retry attempts for work item deletion operations when they fail due to transient errors.
Default Value:
missing XML code comments
Parameter:
WorkItemIDs
Type:
IList
Description:
Gets or sets a specific list of work item IDs to delete. When specified, takes precedence over the WIQL query.
Default Value:
missing XML code comments
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": "TfsWorkItemDeleteProcessorOptions",
  "Enabled": false,
  "WIQLQuery": "SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @TeamProject 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.tfsworkitemdeleteprocessor.json",
  "title": "TfsWorkItemDeleteProcessor",
  "description": "The `WorkItemDelete` processor allows you to delete any amount of work items that meet the query. **DANGER:** This is not a recoverable action and should be use with extream caution.",
  "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": "Gets or sets a value indicating whether to filter out work items that already exist in the target before deletion. Typically used to avoid deleting items that shouldn't be removed.",
      "type": "boolean"
    },
    "pauseAfterEachWorkItem": {
      "description": "Gets or sets a value indicating whether to pause after each work item is deleted for review or debugging purposes.",
      "type": "boolean"
    },
    "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"
    },
    "wIQLQuery": {
      "description": "Gets or sets the WIQL query used to select work items for deletion. Should return a list of work item IDs.",
      "type": "string",
      "default": "SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc"
    },
    "workItemCreateRetryLimit": {
      "description": "Gets or sets the number of retry attempts for work item deletion operations when they fail due to transient errors.",
      "type": "integer"
    },
    "workItemIDs": {
      "description": "Gets or sets a specific list of work item IDs to delete. When specified, takes precedence over the WIQL query.",
      "type": "array"
    }
  }
}
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