使用 Azure Devops 迁移工具测试字段合并,我也可以重现这种情况。该doneMatch
字段在configuration.json
文件中是必需的(默认为##Done##)。
似乎没有办法避免添加donematch
到目标字段。由于我不是这个工具的开发者,所以我不确定这个字段的功能。
我想分享一个解决方法来解决这个问题。
解决方法:
您可以尝试将 设置" "
为该doneMatch
字段。( "doneMatch": " "
)
例如:
"FieldMaps": [
{
"ObjectType": "VstsSyncMigrator.Engine.Configuration.FieldMap.FieldMergeMapConfig",
"WorkItemTypeName": "*",
"sourceField1": "System.Description",
"sourceField2": "Microsoft.VSTS.Common.AcceptanceCriteria",
"targetField": "System.Description",
"formatExpression": "{0} {1}",
"doneMatch": " "
}
由于配置文件是一个 Json 文件,您可以使用它" "
来表示空格。
结果:
是否会检测到 target.fieldA 中先前的##DONE## 并认为它已经完成了合并,因此不会进行任何新的更改
根据我的测试,##Done##
目标字段中的 不会影响其他操作。您仍然可以在此字段上进行操作。
更新:
上述方法仅适用于字段类型:Text (multiple lines)
. 如果该字段是其他类型,则此方法不起作用。
您可以创建一个新字段(Text (multiple lines)
)。然后您可以将目标字段设置为新字段。
例如
"FieldMaps": [
{
"ObjectType": "VstsSyncMigrator.Engine.Configuration.FieldMap.FieldMergeMapConfig",
"WorkItemTypeName": "*",
"sourceField1": "Custom.test1",
"sourceField2": "Custom.test2",
"targetField": "Custom.test3",
"formatExpression": "{0} {1}",
"doneMatch": " "
}