You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Before your migration starts it will validate that all of the Areas and Iterations from the Source work items revisions exist on the Target. Any that do not exist will be flagged in the logs and if you have "StopMigrationOnMissingAreaIterationNodes": true, set the migration will stop just after it outputs a list of the missing nodes.
Our algorithm that converts the Source nodes to Target nodes processes the mappings at that time. This means that any valid mapped nodes will never be caught by the This path is not anchored in the source project message as they are already altered to be valid.
We recently updated the logging for this part of the system to more easily debug both your mappings and to see what they system is doing with the nodes and their current state. You can set "LogLevel": "Debug" to see the details.
To add a mapping, you can follow the documentation with this being the simplest way:
If the olf iteration path was \oldproject1\Custom Reporting\Sprint 13, then this would result in a match for each Iteration node after the project node. You would then be able to reference any of the nodes using "$" and then the number of the match.
Regular expressions are much more difficult to build and debug so it is a good idea to use a regular expression tester to check that you are matching the right things and to build them in ChatGTP.
NOTE: You need \\ to escape a \ the pattern, and \\ to escape a \ in JSON. Therefor on the left of the match you need 4 \ to represent the \\ for the pattern and only 2 \ in the match
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
As per the documentation, you need to add Iteration Maps and Area Maps that adapt the old locations to new ones that are valid in the Target.
Before your migration starts it will validate that all of the Areas and Iterations from the Source work items revisions exist on the Target. Any that do not exist will be flagged in the logs and if you have
"StopMigrationOnMissingAreaIterationNodes": true,
set the migration will stop just after it outputs a list of the missing nodes.Our algorithm that converts the Source nodes to Target nodes processes the mappings at that time. This means that any valid mapped nodes will never be caught by the
This path is not anchored in the source project
message as they are already altered to be valid.To add a mapping, you can follow the documentation with this being the simplest way:
Or you can use regular expressions to match the missing area or iteration paths:
If you want to use the matches in the replacement you can use the following:
If the olf iteration path was
\oldproject1\Custom Reporting\Sprint 13
, then this would result in a match for each Iteration node after the project node. You would then be able to reference any of the nodes using "$" and then the number of the match.Regular expressions are much more difficult to build and debug so it is a good idea to use a regular expression tester to check that you are matching the right things and to build them in ChatGTP.
NOTE: You need
\\
to escape a\
the pattern, and\\
to escape a\
in JSON. Therefor on the left of the match you need 4\
to represent the\\
for the pattern and only 2\
in the matchSome pretty cool mappings
"^OldProjectName([\\\\]?.*)$": "NewProjectName$1",
or
"^OldProjectName([\\\\]?.*)$": "NewProjectName",
The first one maps all
OldProjectName
area or iterations to a similar new node. If you haveCreateMissingNodes
enabled then it will then create that.The second will just map all
OldProjectName
to the new project name root.Beta Was this translation helpful? Give feedback.
All reactions