For both SaaS and Self-Managed customers, migrate all Service Desk Issues to the work item type Ticket.
Scheduled for 17.8.
Because Service Desk issues and tickets use the same underlying data structure, we don't need to migrate data from one table to the other.
We only need to change the work item type of all legacy Service Desk issues.
This will require a batched background migration that collects all legacy Service Desk issues (from support bot Users::Internal.support-bot and service_desk_reply_toNOT NULL) and changes the work item type to ticket.
For gitlab.com we can do this whenever we want to.
We just had a brainstorming session with @francoisrose and here are the steps we need to do.
One of the main requirements we should meet is that we need to ensure there are no legacy issues created after we run the migration of legacy issues to tickets. Otherwise, we would need to run the migration again.
So we may need to start supporting epics for tickets before we do a migration (point 3). That shouldn't be a problem, since we're planning to make tickets and issues to work at the same time. But that postpones the migration.
@ck3g understood, thanks for raising this. One issue I see is we need alignment with groupproduct planning on allowing Epic (parent):Ticket (child) relationships (see [1] and [2]) before we can implement it. I'll post in that thread to raise this.
Thinking ahead a bit, I see 2 possible outcomes:
Decision: Tickets can be children of Epics
Option 1: implement the Epic:Ticket relationship before the migration
Option 2: add Tickets as an exception to the rule you linked (cf comment in code), proceed with migration before implementing Epic:Ticket
Decision: Tickets can NOT be children of Epics
Option 1: hard breaking change: migrate and lose the Epic relationship
Option 2: soft breaking change: migrate and link Tickets to their previously assigned Epics (can we do that as part of the migration?)