Work Item Quick Action: Single record clone
Summary
To develop a feature that enables users to clone work items, including all their children, recursively. This will facilitate the replication of tasks and workflows, serving primarily for templating and quick project setup.
Many users require the ability to replicate existing work items for use in similar projects or recurring workflows. Currently, users must manually recreate each item, which is time-consuming and prone to errors. This feature aims to streamline this process by allowing users to clone an entire structure of work items with a single action.
User Stories
- As a project manager, I want to clone a work item so that I can quickly reuse its structure (without sub-items) for new tasks that follow a similar pattern.
- As a team lead, I need the ability to replicate a specific issue without its sub-tasks to ensure consistent start points for similar projects across different teams.
Cloning Rules
-
Do clone:
- Title
- Description
- Labels
- Confidentiality
-
Do NOT clone:
- Comments
- Event history
-
Other attributes to consider - TBD
- Parent - assign same parent?
- Author - take the cloning user or original author?
- Assignees
- Milestones
- Iteration
- Weight
- Start date
- Due date
- Time tracking
- Health status
- Participants
Iteration plan
-
➡ Initial Release: Launch the ability to clone a single work item using a quick action command, with no UI element involved. This will allow users to quickly duplicate the main structure of a record without its child items. - Second Iteration: Enhance the cloning feature to include the ability to recursively clone children of the record. This step ensures that the entire hierarchical structure, can be duplicated.
- Third Iteration: Introduce an in-app UI option for cloning, making the feature more accessible and easier to use within the standard workflow, complementing the quick action with a more integrated UI approach.
Technical Considerations
- The
/clone
quick action is currently available for legacy issues- Command:
/clone <path/to/project> [--with_notes]
- Action: Clone the issue to given project, or the current one if no arguments are given. Copies as much data as possible as long as the target project contains equivalent objects like labels, milestones, or epics. Does not copy comments or system notes unless
--with_notes
is provided as an argument.
- Command:
- Ensure that cloning respects permission settings and access controls.
- Assess performance impact, especially for cloning large structures of work items.
- Determine how cloned items are linked back to their originals, if at all (e.g., reference links or purely independent).
Acceptance Criteria
- Users can clone a work item from within a record comment or the description of the record.
- Performance benchmarks are met to handle cloning operations efficiently.
Edited by Amanda Rueda