Azure DevOps Migration Tools

v16.0.6-Preview.2

Azure DevOps Migration Tools allow you to migrate Teams, Backlogs, Tasks, Test Cases, and Plans & Suits from one Project to another in Azure DevOps / TFS both within the same Organisation, and between Organisations.

Home
 › 
Learn
 › 
Overview
 › 
Reference
 › 
Tools
 › 
Fieldmappingtool
Overview

Tools : FieldMappingTool

Ref

  

Less than 1 minute to read

  

2024-10-30 09:13:32 +0000

missing XML code comments

Options

Parameter name Type Description Default Value
Enabled Boolean If set to `true` then the tool will run. Set to `false` and the processor will not run. missing XML code comments
FieldMaps List missing XML code comments missing XML code comments

Examples

sample

This is an example of what your config might look like once configured.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
    {
  "MigrationTools": {
    "Version": "16.0",
    "CommonTools": {
      "FieldMappingTool": {
        "Enabled": "True",
        "FieldMaps": [
          {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "FieldMapType": "FieldMergeMap",
            "formatExpression": "{0} \n {1}",
            "sourceFields": [
              "Custom.FieldA",
              "Custom.FieldB"
            ],
            "targetField": "Custom.FieldC"
          },
          {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "defaultValue": "New",
            "FieldMapType": "FieldValueMap",
            "sourceField": "System.State",
            "targetField": "System.State",
            "valueMapping": {
              "Active": "InProgress",
              "Closed": "Done",
              "Resolved": "InProgress"
            }
          },
          {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "defaultValue": "42",
            "FieldMapType": "FieldToFieldMap",
            "sourceField": "Microsoft.VSTS.Common.BacklogPriority",
            "targetField": "Microsoft.VSTS.Common.StackRank"
          }
        ],
        "FieldMapSamples": {
          "FieldClearMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "targetField": "Custom.FieldC"
          },
          "FieldLiteralMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "targetField": "Custom.SomeField",
            "value": "New field value"
          },
          "FieldMergeMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "formatExpression": "{0} \n {1}",
            "sourceFields": [
              "Custom.FieldA",
              "Custom.FieldB"
            ],
            "targetField": "Custom.FieldC"
          },
          "FieldToFieldMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "defaultValue": "42",
            "sourceField": "Microsoft.VSTS.Common.BacklogPriority",
            "targetField": "Microsoft.VSTS.Common.StackRank"
          },
          "FieldToFieldMultiMap": {
            "ApplyTo": [
              "SomeWorkItemType",
              "SomeOtherWorkItemType"
            ],
            "SourceToTargetMappings": {
              "SourceField1": "TargetField1",
              "SourceField2": "TargetField2"
            }
          },
          "FieldToTagFieldMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "formatExpression": "{0} <br/><br/><h3>Acceptance Criteria</h3>{1}",
            "sourceFields": [
              "System.Description",
              "Microsoft.VSTS.Common.AcceptanceCriteria"
            ],
            "targetField": "System.Description"
          },
          "FieldToTagMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "formatExpression": "ScrumState:{0}",
            "sourceField": "System.State"
          },
          "FieldValueMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "defaultValue": "StateB",
            "sourceField": "System.State",
            "targetField": "System.State",
            "valueMapping": {
              "StateA": "StateB"
            }
          },
          "FieldValueToTagMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "formatExpression": "{0}",
            "pattern": "Yes",
            "sourceField": "Microsoft.VSTS.CMMI.Blocked"
          },
          "MultiValueConditionalMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "sourceFieldsAndValues": {
              "Field1": "Value1",
              "Field2": "Value2"
            },
            "targetFieldsAndValues": {
              "Field1": "Value1",
              "Field2": "Value2"
            }
          },
          "RegexFieldMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "pattern": "PRODUCT \\d{4}.(\\d{1})",
            "replacement": "$1",
            "sourceField": "COMPANY.PRODUCT.Release",
            "targetField": "COMPANY.DEVISION.MinorReleaseVersion"
          },
          "targetFieldsAndValues": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "targetField": "Custom.ReflectedWorkItemId"
          },
          "TreeToTagMap": {
            "ApplyTo": [
              "SomeWorkItemType"
            ],
            "timeTravel": "1",
            "toSkip": "3"
          }
        }
      }
    }
  }
}
    

defaults

These are the default values for this configuration. If you do not set it in your config the default always applies. You can overide by adding a diferent value in your config.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    {
  "MigrationTools": {
    "Version": "16.0",
    "CommonTools": {
      "FieldMappingTool": {
        "Enabled": "False",
        "FieldMapDefaults": {
          "ApplyTo": [
            "*"
          ]
        },
        "FieldMaps": null
      }
    }
  }
}
    

classic

We have moved to a new config format, and you will need to update your old configs. This entry is a strate seralisation of the object and is here for legacy, and may provide value for debugging issues.

1
2
3
4
5
6
    {
  "$type": "FieldMappingToolOptions",
  "Enabled": true,
  "FieldMaps": []
}
    

...
Getting Support

Community Support

Question & Discussion - The first place to look for usage, configuration, and general help.

Commercial Support

We provide training, ad-hoc support, and full service migrations through Azure DevOps Migration Services