0

On Azure DevOps Server 2019, I wish to customize my backlogs and boards to add new levels and WITs, as described here.

Doing so requires the new Inherited process model, however, and my collection was created some years prior to the model's introduction (I've gone through three upgrades in the time since). The model must be selected at collection creation; it's not possible to switch between the two after the fact.

It appears I must create a new collection, and then migrate all of my data (Work Items, Repos, Pipelines, etc.). Naturally, I need to preserve all internal timestamps.

Is this possible, and if so, how is it accomplished?

InteXX
  • 6,135
  • 6
  • 43
  • 80

1 Answers1

1

It's not easy, there are options but they all involve a compromise on the integrity or fidelity of the things migrated.

If you only have a single project you could use the Free version of Ops Hub, or pay them some money for the full version. However I believe that this will change the timestamps if checkins to TFVC to the migration date / time (although I believe it adds the original date / time to the checkin comment.

Or you could migrate the code to git using git-tfs. You might be able to preserve the full commit history but that depends on certain things not being done in TFVC (renaming branched for example)

Pipelines I'm not sure but I know that some colleagues have been experimenting on doing this via the API. Depends on if they are the new ones or the old XAML based builds.

Work items can be migrated using Martin Hinshelwoods tools

I think that Microsoft are looking at this though. I had a call with them back in may based on this tweet and it looks like they are going to be adding the ability to migrate to the new template type to the on prem version at some point in the future. Not sure when though

James Reed
  • 13,873
  • 51
  • 60
  • Thanks for that tweet! I'm on it. – InteXX Sep 06 '19 at 18:49
  • I'm still a bit new to Git. If I just push to the new repos from the local repos, I believe all of the commit history and timestamps will come along for the ride. Would you agree? – InteXX Sep 06 '19 at 18:49
  • Pipelines: I'm using vNext. I'm thinking of converting to YAML, though, so I may end up rebuilding them from scratch anyway. (I'm pretty sure the switch requires a restart, but do correct me if I'm mistaken.) – InteXX Sep 06 '19 at 18:50
  • 1
    Git: yes the history in git will be preserved when you push to Azure DevOps. Pipelines: if you don’t have too many you could export them as Json I think and then import them in to the new collection – James Reed Sep 06 '19 at 18:54
  • I think that about covers it. Work items, pipelines, repos... they're all covered here. Thanks! – InteXX Sep 06 '19 at 19:05
  • FYI I heard back from Dan already. They've decided not to do it. – InteXX Sep 06 '19 at 20:14
  • That sucks, oh well. Good luck with the migration – James Reed Sep 09 '19 at 08:35
  • Thanks. I think I'm going to lose my timestamps on the work items, but oh well... – InteXX Sep 09 '19 at 13:16