TFS 2013 Custom dashboard widget - tfs

I have been tasked with creating a custom planning view from TFS.
I have a reasonable amount of experience with the TFS Api but I want to try and avoid having to create and maintain a new application for this.
I have looked at SSRS for TFS but I am unable to access all of the data I need (tags etc.) so this is not an option (as it will invalidate support).
I would ideally like to create a "widget" to appear on one of the TFS dashboards but am not sure where to start. The widget would also need to allow access to the TFS api to gather the data it needs to generate.
Please can someone advise where I may look to start or an alternative approach.

You may want to take a look at http://integrate.visualstudio.com where you can find documentation for the TFS API. The REST API works for TFS 2015 and above.
While you can extend the web interface with Extensions (https://marketplace.visualstudio.com/) in Visual Studio Team Services (VSTS), this feature is not yet available in TFS on-premises as of TFS 2015 Update 1.
You can check the published feature timeline for updates, but at this time extensions for TFS are marked as "TBD".

If you're working with TFS2013 + Update2 or a higher version of TFS, it is allowed for Team Administrators to customize TFS dashboard via pinning items to the homepage without writing any code.
For example, if you would like to add a chart into the dashboard, you just need to go to the query’s Charts page and pin it to the home page. See the following image (quoted from this MSDN article)

Related

On-premise TFS 2015 web site: Missing TFS "Process"

Is it possible in TFS 2015 on-premise to modify a collections process templates? According to the article here, there should be a "process" tab on the web interface, collection administration page. This document is for 2015 but is a little old. Should this feature be available for 2015 on-premise upgrade 2? Am I missing a permission?
https://www.visualstudio.com/docs/work/customize/customize-work#team-projects-and-processes-team-services-
Just as the article mentioned, the settings are with VS Team Service. Team projects and processes (Team Services) And there is no “process” tab on the web interface for TFS2015.
Scroll down the page and you will see Team projects and process templates (TFS)
When you work with an on-premises TFS, you customize your work
tracking experience through one or more XML definition files. You can
start by customizing a process template and its XML definition files,
and then create a team project based on the template. Or, you can
simply make modifications as needed to add customizations to the work
item fields, work item types, and other objects that support tracking
work.

Is it possible to customize TFS to provide user friendly forms for registering bugs?

I need to let users register bugs similar to how it is done in Bug tracking systems.
I'd like to create user friendly form with a layout which will guide user. Standard Create New Workitem interface is too overloaded for users.
Today we manually look through inbox and register bugs in TFS ourselves. This is really a pain. Users often do not mark the message in subject as a bug. You need to read it to understand user has a problem. Sometimes you need to ask them about the criticality level and what the deadlines for fixing it are.
It is easy to miss important message and this process distracts from main activity.
(Based on you having Visual Studio and having already connected to TFS in there)
In Visual Studio, via the menu, choose Tools > Process Editor > Work Item Types > Open WIT from server
EDIT: You will need to install the Microsoft Visual Studio Team Foundation Server 2015 Power Tools Extension in Visual Studio to gain access to that menu option above
You will then be presented with a popup box. At this point you will need to navigate to the Project Collection you wish to make changes in. Once selected you will then be presented with a list of forms you can edit. e.g. Task, Bug, Code Review etc.
If you select Task you will then be taken to a form where you will have 3 tabs. Fields, Layout and workflow. From here you have a certain level of customisation available.
I found a couple of articles (below) around customising templates. One is for TFS 2015, the other is for TFS 2013.
http://blogs.msdn.com/b/visualstudioalm/archive/2015/12/10/adding-a-custom-field-to-a-work-item.aspx (TFS 2015)
https://www.simple-talk.com/dotnet/visual-studio/customizing-team-foundation-server-2013/ (TFS 2013)
NOTE: Menu option Open WIT from server will make changes directly on the server. There are other option where you can make changes locally, then import those changes in. The above is just a way to get you to the screen to customise the forms so that you can take a look around.

Opshub Migration from TFS to VSTS not mapping users

So I've been trying to perform a migration (code only, no work items) of a medium sized project from an on-premises TFS2010 to VSTS using the OpsHub tool. My user is an administrator on both sides, and the migration runs and completes without tossing errors.
The problem is that it just doesn't do what it says it will. I spent a long time mapping the users from TFS to VSTS during the setup, but it completely ignored that mapping and assigned every single changeset to my VSTS account. The docs also say that it should preserve the original TFS check-in time in the comment of the new VSTS changeset, but it never does that to any of them -- the comments are just brought over exactly as they were.
It seems like there must be a setting set wrong in OpsHub to turn these features on, but I can't find any kind of options screen or anything in the tool. It looks like other users are able to successfully map the TFS users to the VSTS users and have it work like you would expect, but I can't make heads or tails of it.
Thanks for any help or advice on this.
If you are using the free version then this feature is not supported by it and same is mention on the visual studio gallery download page, only the commercial version of migration utility supports partial user impersonation, i.e. writing changes as per configured user mapping.

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.

Not enough permission to change Bug Workflow

I am using TFS Service (on the cloud solution) and I would like to customize the bug states.
There are many resources explaining how to do that using TFS Power Tools, so I downloaded and installed it.
I am able to open the workflow, but I am not able to change anything because I get the following error message:
Failed to save the 'Bug' Work Item Type to the server. TF237113: You
don't have enough permission to complete the import operation
I am using an administrator user.
Is it possible to make this change on Visual Studio Online?
While you are correct that it is not possible to customise the process template on Visual Studio Online you do have a few options:
Kanban Columns - If you want to you can customise the Kanban columns so that you have 'meta states' that you can use. I know that it is not the same but it could get you there.
Go offline - Currently and for a limited time you can take your VSO account on-premises. The TFS team are holding the version of VSO in parity with TFS 2013 Update 2 so that folks can do this. Be aware of what you loose though. No frequent updates and you have to host your own servers...
Not sure if these options help but they are options...
Making more research I found the answer: it is not possible:
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3654231-customize-process-template-on-visual-studio-online

Resources