Move Work Items to different project on Azure Devops - azure-devops

I am trying to move/copy my Work Items into a different project. I will need all the Epics, Features, User stories, Tasks, comments, links etc.
The steps given here show how to move a single work item, so my plan is to move my Epics which were only a handful and not have to move each and every user story/task. But unfortunately when the Epic is moved, the children are left behind.
Is there any other way to do this?
I saw this Excel solution, but doesn't look like its copying the comments.

You may use a bulk move:
Create new query to select your work items Create and save managed queries with the query editor:
Select all work items in the query result and select move:
Select your new team project:
Save all work items:

Related

Restore the state my project was in 11/10/2021 into another temporary project, so I can only get the order of work items from Boards from that day

I want to restore the state my project was in 11/10/2021 into another temporary project (not the one I am currently using), so I can only grasp the order of work items from Backlogs from Boards for that day. I did not delete the project. I just changed the Area Paths for Teams and the order of work items changed. I just want to have a reference in a separate temporary project, so I can compare work items order between them and restore correct one to the actual backlog.
Doing something like this is going to be quite tricky, I think that the closest you will come to doing this will be to create a new project and then try to use the open-source migration tools at https://marketplace.visualstudio.com/items?itemName=nkdagility.vsts-sync-migration. We used an earlier version of this for an Azure DevOps carveout from another tenant, and it worked well, but we didn't have your "restore-to-point-in-time" use case.
I think that what you're going to need to do is use the ReplayRevisions on the WorkItemMigration class, and then you're probably going to need to write some custom WIQL to get only what you're looking for. It's even conceivable you might need to extend this to get the functionality you want.

Moving boards between projects

I need a little advice.
We have a few projects in Azure DevOps, and I need to move a Board and all it's work items, regardless of status, from one project into another project. So basically lifting and shifting it.
Is there an easy way to achieve this?
Moving boards between projects
You could use bulk move:
Create new query to select all work items Create and save managed queries with the query editor:
Select all work items in the query result and select move:
Select your new team project:
Save all work items.

Is it possible to have multiple backlogs for a single team in Azure Devops?

Sorry if this isn't the right place for this, but all the devops question I see on stack exchange seem to be in stackoverflow.
I've begun working with Azure DevOps, and something I'm noticing is that managing items becomes more cumbersome as I add in more bugs, stories, etc... I'm searching for a way to be able to manage and prioritize these items more easily, and I was wondering if it's possible to have multiple backlogs. Say one for bugs, then one for enhancements, one for support tickets. The issue I'm running into is that we only have one team of developers, so ideally this would all be housed under one team so all these items can be dealt with in a single team's sprint instead of a sprint for each team.
Initially I thought that queries might be a viable option, but when creating them I quickly learned that I cannot reorder items. So that ended that idea.
I also considered just viewing the backlog with a filter to only show what I'm looking for, but that too does not allow me to reorder items easily. It looks like I can drag n drop them, but that doesn't work. I can open the ellipsis menu and choose "move to position", but that's far too clunky of a solution when you have many work items. I also sometimes get conflict errors when trying to move them in that manner.
So I keep coming back to the idea of multiple backlogs for a single team. Is this possible? I don't really see anything in the documentation, and I don't even know if this is considered best practice? Any insights are greatly appreciated.
Sounds like you have tried the out the most obvious ways of filtering and searching for workitems in the backlog and on the boards.
What you can setup is an hierarchy of area paths and (sub)teams to allow for filtered view of the backlog.
Consider the following structure of area paths
ProjectName
- Bugs
- Enhancements
- Tickets
Then you create 4 teams, each corresponding to one node in the Area Path tree (make sure to tick the box include children for all of them). As you now have 4 teams you also get 4 backlogs. The top level team that maps to ProjectName will contain the full backlog (equivalent to what you have now). The other three will only show workitems under their respective area path. You can now use those 3 teams to view filtered versions of the backlog (or boards), but still maintain a single backlog on top level.
As Iterations are defined per project, and are shared across teams, you can continue with one set of iterations and add them to all teams, making them shared.
By this setup any team member can jump between the different subteams to view their preferred filtered version of the backlog (or the complete backlog on the root team)
This feels kinda hackish, setting up new "Teams" just to filter the backlog and whether this is considered best practice or not isn't straightforward to answer. Generally an Agile team should have one backlog and prioritize it as a whole but one could argue that the top level combined backlog fills that purpose and the sub backlogs are used for easier management and for visualizing only parts of the backlog. After all Agile is not about tools it is about being productive.
As danielorn's answer, you can set up multiple iterations. But you don't need to set up multiple teams, you can just use your currently team.
You can try the following steps to see whether this method can fit your requirement.
Step 1. Go to Project Settings -> Boards/Project configuration, create some new child Iterations of your project. In your case, you can leave out the start and end dates of the iteration. Just like this:
Step 2. Go to Boards/Backlogs -> View Options (top right corner) -> Choose "Planning".
Step 3. Click "New Sprint" in the Planning Side Pane, add the Iterations you have created in step1 to the Planning. (Of course, you can skip step 1 and directly create new iterations here, but the iterations you create here must have start and end dates.)
Step 4. Drag the work item to the corresponding Iteration. Then click the iteration, you will see a "new" Backlog that only has work items of this iteration.

VSTS: Group level between feature and work item

I am working as a Product Owner for a development team using scrum, we are using VSTS for our backlog.
So far I have been organizing my backlog using Epics and Features, I am mainly using features.
I use Features both to group work items but also for keeping control of delivering stuff. If I for instance know that I need to deliver a certain functionality a certain day then I create a Feature for that and include the needed work items. I need to do that because I manage many projects simultaneously.
So far, so good.
But now Product Management want to start creating Epics and Features for them to organize work. I can live without the Epics, and it is fine that they create the features and I add work items. But when I start executing I need some way to organize into deliverables.
Any idea how I can do that, basically I need a group like features but in between feature and work item
You can add tags for your and other Epics to distinguish them...
basically I need a group like features but in between feature and work item
Alternatively you can create a new work item type like features. Please see Customize a project using an inherited process for details.
Create an inherited process
Custom the process
Add a new work item type
...
Apply the customized process to your project
UPDATE:
You need to add a new Portfolio backlog level, but in Azure DevOps (VSTS) the new Portfolio backlogs can only be added as the top level, that means the hierarchy should be Deliverable > Epic > Feature > Backlog Item.
So, in this case you can rename them to match your requirements, for example rename Feature to Deliverable, Epic to Feature, Deliverable to Epic...
Please see Customize your backlogs or boards for details.

Visual Studio Online move PBI and tasks from one project to another

I'm using Visual Studio Online I have created a project A with PBI's that has many tasks inside them.
I have now created a new project B and would like to move/copy/migrate the PBI's and tasks from project A to this project B.
How do I achieve this.
You can do this quite easily using the Excel integration feature.
In Project A, create a query that lists all your work items.
Open Microsoft Excel, go the TEAM tab.
Click 'New List', select your project, select 'Query List', select
the query you just created.
In the Work Items tab select the 'Choose Columns' button and select
all the columns you want to migrate.
Open another Excel Spreadsheet and create a 'New List'. This time
connect to Project B and select the 'Input List'.
Copy and paste all the work items from Project A list to the Project
B list (excluding the Id column).
Click Publish.
Using Excel won't let you copy a lot of stuff, particularly attachments.
A (slightly) better approach would be to use the OData interface at https://tfsodata.visualstudio.com/ to read work items and all their related data from project A, then insert into project B.
As of today though, the API is also quite limited (e.g. doesn't allow to create links between work items).
It's 2020 now, and the answer, with Azure DevOps is yes, you most definitely can.
See Azure boards documentation's "move work items, change work item type"