TFS report that shown iteration id from warehouse - tfs

Whenever we start a new iteration I have to set the default value for the iteration parameter in the burndown report (and also other reports). To get the value I follow this instruction (http://salvoz.com/blog/2010/05/04/tfs-2010-default-iteration-and-area-for-burn-down-report/), which includes getting the value with Sql Management Studio connected to the Analysis Service on the tfs data tier. This is becoming increasingly difficult since the number of projects is increasing.
A nicer way to get iteration id's would to get them from a report, whose sole purpose would be to list iterations and show their id's. The report could preferably be installed in the project collection root, i.e. DefaultCollection -folder, and list all iterations for all projects in that collection.
Anyone already have this?

I finally created a report that lists all iterations in TFS and shows their id and a string that can be pasted directly into the default value for IterationParam for the burn down report.
The report looks like this http://i41.tinypic.com/2qm2bs4.png
The rdl-file that can be installed into Reporting Services can be found here. I installed in in the TfsReports-folder that is in the root of Reporting services.
The original sql was found here

I think the best way to do it is how John Socha-Leialoha described using MDX Studio connected up to the OLAP cube for TFS. Here's where you can download MDX Studio.
You essentially end up dragging & dropping the iteration node to the Query Editor so that it will show you the Iteration ID.

Related

Newly created iterations and areas are not synched

I am using TFS 2013 update 4:
Scenario:
Add a new iteration from the administration page of a project.
Go to the project Dashboard create a new work item.
Newly created ierations and areas are not shown in the relative dropdowns.
Steps taken:
Checked the server for errors in the event viewer, no issues.
Check the 'Visual Studio Team foundation Job Agent' running with no issues under the TFS admin user.
The newly created iteration exists in the collection database table 'tbl_nodes' and in the 'TFS_Warehouse' Database.
Checked the Jobs on the database and forced them to start, did not solve it.
What I was not able to do is figure out which table exactly the TFS is querying the nodes from, afterall the Stored procedures are encrypted.
Amemdment:
**the newly created iterations exist in the 'tbl_nodes' but does not exist in 'TreeNodes' table.
Since newly created iterations and areas are both in database. Try to restart Team Foundation Background Job Agent service to force synchronization in TFS server.
If it's still not help, give a try with rebooting the server, which may do the trick. You can also take a look Mark's solution in this similar issue Newly created TFS 2010 iteration not visible

TFS Reporting, FactBuildProject and FactBuildDetails empty

I'm using TFS 2015 on-prem and I'm using the standard SCRUM template. I have 1 Team Project and I'm using the team field to segregate work. I have created a few build definitions and ran a few builds over the last few weeks.
When I installed TFS I did not install or configure Reporting Services straight away as I had planned to do that later. I have since done this and I now have my Tfs_Warehouse which is updating with most things but NOT FactBuildProject or FactBuildDetails. Some of my other facts are pulling over, such as FactCurrentWorkItem and even FactBuildCoverage. I have rebuilt the warehouse in the TFS Admin Console.
As this is a standard process template and standard reports I expect that the required fields should be set to reportable.
How can I get data in my FactBuildProject table and where can I look for issues with it? I'm not sure where to start and I can't find anyone else in the world with a similar problem.
If you are using the new task-based build system, then you are out of luck, since that data is not being propagated to the data warehouse.
Check the comments on this blogpost: http://nakedalm.com/create-a-build-vnext-build-definition-on-vso/

Can you export history from Visual Studio Online to another ALM system?

I’m beginning to consider moving an on-prem TFS 2012 installation to Visual Studio Online. So, one of the first things I started investigating was how we might export our content back out of VSO in the future if we ever decided we needed to. The more I’m looking, the less I’m finding. It seems there was a temporary time period when VSO first went GA that Microsoft offered that capability if you asked to have it done (http://www.visualstudio.com/en-us/news/2014-apr-3-vso.aspx). By implication, that would seem to mean that this isn’t something that is a planned feature of VSO.
Making a commitment to house all of my source and ALM data in a repository I’d effectively be barred from leaving doesn’t sound particularly appealing. Am I missing something, or does Microsoft really not have export capabilities on their VSO product roadmap? It would seem that this would be a show-stopper for many organizations from coming onto VSO, which is a perfect application to put into the cloud IMHO.
For code you can use Git. Even if you start with TFVC, you can use Git-TF. Clone with the --deep parameter to get the full history in a new Git repo, then push back to a new project (Git or TFVC).
For work items the TEAM tab in Microsoft Excel is a very capable export facility for work items, though you don't get links (other than parent child), or attachments.
In the original project, create a query that lists all your work items.
Open Excel, go to the TEAM tab and click 'New List', you should get the option to select your project and the query you just created.
In the Work Items tab select the 'Choose Columns' button and select all the columns you want to migrate.
If migrating to another TFS / VSO project, create that project, open another list in Excel connected to the new project.
Cut and paste all the work items from the original project list to the new project list (excluding the Id column).
Publish.
voilà.
You're right there's no good solution for this yet. However, if you're using Git as the source-control back-end (instead of TFVC), you can easily pull down the entire repo then push it up into any other source control server (non-VSO) with full history.
For TFVC source-control, or work items (or builds, test results, etc), things aren't so easy.
The answer is not black and white: with the TFS Client API you can connect to both platform and read/write as you please. It is not a trivial task, so someone has created tooling, like Brian says. Another option is using the open source TFS Integration Platform: it is complex but with some help you can do it.
What you really must consider and plan is the data model: moving from an ALM Platform to another is never trivial and the complexity lies in the difference of the underlying model and any customization you made.
As long as you do not customize you on-prem TFS, it is very doable, with a reasonable effort to move to VSO and back. In this context customize means: custom workitems fields, types or workflows, server-side plugins; shortly anything that requires code or schema change. Note that you can still customize builds as this is properly managed.
I expect to see more solutions arriving thanks to the new REST API, but it will take time before we see solid products.
So your original question has a positive answer (TFS on-prem -> VSO) using OpsHub, but know what you are doing and, as I write, it is practically a one way journey.

Search Work Items Query

After using the 'Search Work Items' plugin for TFS 2010, I am struggling with the seeming limitations of the similar tool in TFS 2012.
My teams use this ad-hoc query to quickly search across all team projects to find work items based on a number of fields. I have been unable to find a way to modify the query to search additional fields and remove the #Project limitation. In TFS 2010 using the "--Template" string to open and modify the query was the ticket. Is there a similar solution in TFS 2012?
It is possible to manually specify all the extra fields every time using the search syntax (painful) - but how to remove limitations such as #Project etc?
You should just be able to open a query in Team Explorer and remove the #project designation. You however will not be able to remove the #project limitation from the search box now on the TFS 2012 Web Access UI as it will only search across a single Team Project.
I would recommend that you read:
http://blog.hinshelwood.com/project-of-projects-with-team-foundation-server-2010/
http://blog.hinshelwood.com/one-team-project/
I think as you go forward you will find more and more that you are running into the Team Project boundary.

What would be the best way to migrate work items from TFS 2010 to JIRA?

I am in the process of evaluating JIRA as a replacement to TFS 2010.
I know that JIRA has the capability to import from CSV but cannot figure out how to export fields like the History fields from TFS to a spreadsheet.
Any recommendations / tools would be highly appreciated.
I don't think there is an easy way to do what you want.
I am thinking you would need to make your own tool using the TFS API. I don't know if JIRA has an API to do the inserting, but TFS's api is fairly good. You could easily get that data out.
For "How To" on the TFS API I usually look to Shai Raitan's TFS API blog posts.
I do custom migrations from all sorts of databases (ClearQuest, TeamTrack, Remedy) into JIRA. It takes about a week to do the job so it isn't cheap but if you have a lot of data and want more information than the standard importers provide, it's one way to go. The CSV importer probably won't do what you want.
Have a look at Appfire's Enterprise Migration Utility. It migrates TFS to JIRA, amongst others.
Simple enough, create a Query that has all your work items, click on the icon to open in Excel,
Save the Excel file as CSV.
done.
Here's what worked for me (sorry about the formatting; it was a .docx):
For every TFS Server:
Create a query by using Iteration Path for all Product Backlog Items and Bugs for every Product and/or every Scrum Team.
A single query can be used for all projects/products by altering the iteration path(s)
Format the results in TFS by selecting the appropriate columns.
Save the query, run it, and open it in Excel an .xlsx file with the word RAW included (for example, XXXX_ALL_WIs_RAW.xlsx).
Using the same file, select Save As… to create and save an excel .csv file.
Note that not all columns/mappings will be used on all projects. Delete unnecessary columns, and change column headings as needed.
The TFS columns/fields, and the Jira fields (some custom) to which they are mapped, for me were:
Iteration Path maps to Scrum Team
ID maps to Legacy ID
Work Item Type maps to Issue Type
Title maps to Summary
Description maps to Description
Acceptance Criteria maps to Acceptance Criteria
Assigned To maps to Assignee (Users must exist in Jira for this to work!)
SubCategory maps to Component/s
Effort maps to Story Points
Severity maps to Priority
Case Number maps to Case ID
Client Name maps to Customer
Platform maps to Environment
Once the .csv has been modified, use File/Check for Issues/Inspect document to determine if modification are required so the inspection results yield no issues.
Save the clean .csv as _CLEAN (for example, XXXX_ALL_WIs_CLEAN.csv).
Rename spreadsheet headers for import to appropriate Jira field names.
Field modifications:
If the work item Acceptance Criteria field has nothing in it, enter “No Acceptance Criteria in the original TFS work item” on the csv.
If the work item Description field has nothing in it, enter “No Description in the original TFS work item” on the csv.
Bugs – Severity must be converted to a number (1 through 5).
Change column headings on the .csv to match the Jira field names, as defined above in 2d.
Clean/Inspect the .csv
If necessary, increase the advanced setting jira.bulk.create.max.issues.per.import in Jira appropriately to handle the number of items being imported (there is a 250 item import limit by default).
In Jira, at the Site Admin Level – Create new Jira projects based on individual products (NOT projects!)
Create or add users that will be used in the various projects.
In Jira, at the Site Admin level – Create Custom Fields as needed
Associate new and existing custom fields to appropriate project screens, and update.
In Jira, at the Site Admin Level – Re-index DB
At the Project level – Create components for the product by using subcategory from TFS. (Can be assigned to Component Lead)
You should now be ready for import into Jira.
Test Case Migration from TFS to Jira/Zephyr if you need it:
Test case migration is a 2-part process.
The first part will get the test cases from TFS, and create and format an Excel spreadsheet containing the data that will then be imported into Jira (Zephyr).
The second part of the process will use a Java tool to import the data from the spreadsheet created in Part 1 of the process.
Part 1 – Test Case Export
Install TCExport (Used to create the Excel spreadsheet that will be used to import the test cases into Zephyr).
When mapping fields while using the .jar tool, use the Excel column letter.
Part 2 – Test Case Import
1. Download the import utility zfj-importer-utility-0.38.jar
This utility can be run by double-clicking the file in most environments. To launch the utility double-click the .jar file or run through the command prompt as: java -jar .
Detailed instructions for using the utility can be found here: https://www.getzephyr.com/insights/getting-started-zephyr-jira-importer-utility

Resources