Here is the config

{
  "ChangeSetMappingFile": null,
  "Source": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/PriscillaFuentes/",
    "Project": "PriscillaFuentes",
   ** "ReflectedWorkItemIDFieldName": "ReflectedWorkItemId"**,
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "Prompt",
    "PersonalAccessTokenVariableName": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
  "Target": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/TexasFirstRentals/",
    "Project": "RentalTechOps",
  **  "ReflectedWorkItemIDFieldName": "ReflectedWorkItemId",**
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "Prompt",
    "PersonalAccessTokenVariableName": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
 ** "ReflectedWorkItemIDFieldName": "TfsMigrationTool.ReflectedWorkItemId",**
  "FieldMaps": [],
  "GitRepoMapping": null,
  "LogLevel": "Information",
  "CommonEnrichersConfig": null,
  "Processors": [
    {
      "$type": "WorkItemMigrationConfig",
      "Enabled": true,
      "ReplayRevisions": true,
      "PrefixProjectToNodes": false,
      "UpdateCreatedDate": true,
      "UpdateCreatedBy": true,
      "WIQLQueryBit": "",
      "WIQLOrderBit": "[System.ChangedDate] desc",
      "LinkMigration": true,
      "AttachmentMigration": true,
      "AttachmentWorkingPath": "c:\\temp\\WorkItemAttachmentWorkingFolder\\",
      "FixHtmlAttachmentLinks": false,
      "SkipToFinalRevisedWorkItemType": true,
      "WorkItemCreateRetryLimit": 5,
      "FilterWorkItemsThatAlreadyExistInTarget": false,
      "PauseAfterEachWorkItem": false,
      "AttachmentMaxSize": 480000000,
      "AttachRevisionHistory": false,
      "LinkMigrationSaveEachAsAdded": false,
      "GenerateMigrationComment": true,
      "WorkItemIDs": null,
      "MaxRevisions": 0,
      "UseCommonNodeStructureEnricherConfig": false,
      "StopMigrationOnMissingAreaIterationNodes": false,
      "NodeBasePaths": [],
      "AreaMaps": {
        "^OriginalProject\\\\(?!DescopeThis|DescopeThat)": "TargetProject\\RentalTechOps\\TFR-HIR\\"
      },
      "IterationMaps": {},
      "MaxGracefulFailures": 0,
      "SkipRevisionWithInvalidIterationPath": false,
      "SkipRevisionWithInvalidAreaPath": false
    }
  ],
  "Version": "13.0",
  "workaroundForQuerySOAPBugEnabled": false,
  "WorkItemTypeDefinition": {
    "sourceWorkItemTypeName": "targetWorkItemTypeName"
  },
  "Endpoints": {
    "InMemoryWorkItemEndpoints": [
      {
        "Name": "Source",
        "EndpointEnrichers": null
      },
      {
        "Name": "Target",
        "EndpointEnrichers": null
      }
    ]
  }
}

Total of 4000+ work items in the source project, and none get imported. Here is the error Message [13:26:56 ERR] Not all work items in scope contain a valid ReflectedWorkItemId Field!

Tried field Mapping too, but the same error. Not able to resolve it. { "$type": "FieldSkipMapConfig", "WorkItemTypeName": "*", "targetField": "TfsMigrationTool.ReflectedWorkItemId" } Please advise.

1

There are 1 best solutions below

0
MrHinsh - Martin Hinshelwood On

As per the documentation, you need to add the ReflectedWorkItemIDField to all of the work item types on the Target that will be in scope!

This differs depending if you are using the Inherited or XML model for your process, and the image below depicts the added field in the UI of the Inherited model. You can read how to Add a custom field to a work item type (Inheritance process) from Microsoft, but we also have some advanced tools in the Azure DevOps Automation Tools that would let you add fields across many work item types if you are not familiar with Powershell its better to do it manually.

Example of ReflectedWorkItemId field in Azure DevOps