How to add global custom WIT field to all projects? - tfs

We have on-premises TFS 2015 and I would like to add a WIT field called Actual Time which is of type Double to the WIT. Right now, I used the TFS Team Project Manager and I was able to create the custom field for one project. However, our team has multiple projects and I would like to define this custom field across all projects for WIT that are Task and Bug. How can I do that?
I've looked at https://www.visualstudio.com/en-us/docs/work/reference/witadmin/manage-global-lists-for-work-item-types, but I just don't see how I can use that to define it globally and then have it show under the FORM / LAYOUT sections in the XML. Is there a global place where TASK and BUG WIT definitions exist on the collection level?

No, there is no way to set that globally.
However you can add the field for Task Bug or any other work items for a specific project, then import the WIT definitions (xml file) to each team project which using the same process template.
You can create a cmd/batch file to do the import action, see below sample:
cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
witadmin importwitd /collection:http://Server:8080/tfs/DefaultCollection /f:C:\WIT\Task.xml /p:Project1
witadmin importwitd /collection:http://Server:8080/tfs/DefaultCollection /f:C:\WIT\Bug.xml /p:Project1
witadmin importwitd /collection:http://Server:8080/tfs/DefaultCollection /f:C:\WIT\Task.xml /p:Project2
witadmin importwitd /collection:http://Server:8080/tfs/DefaultCollection /f:C:\WIT\Bug.xml /p:Project2
witadmin importwitd /collection:http://Server:8080/tfs/DefaultCollection /f:C:\WIT\Task.xml /p:Project3
witadmin importwitd /collection:http://Server:8080/tfs/DefaultCollection /f:C:\WIT\Bug.xml /p:Project3
You can reference this article: https://blogs.msdn.microsoft.com/granth/2013/02/13/tfs-how-to-customize-work-item-types/
BTW,Global lists you linked above are pick lists that you can include in one or more fields and types of work items. That means if you add several fields which have the same list values, then you can use Global list, it's defined in collection level.

Related

How to add columns on the online sprint board

I'm trying to understand how to add columns on the web version of TFS for my latest sprint but can't find the options to do so.
Using the default model (To do, In progress, done) does not capture the complexity and need for my team so I need an extra column but do not know how to add it.
If someone could give me pointers on the web version of TFS that would be great.
The sprint board can't be customized through the UI a more complex sequence of steps is required, this involves exporting a couple of XML files, editing them end importing them back in:
Export the task WIT from TFS using witadmin exportwitd
Add the required State(s)
Add the required State transition(s)
Export the processconfig using witadmin exportprocessconfig
Update the task board configuration to add the new state(s)
Import the task WIT using witadmin importwitd
Import the processconfig using witadmin importprocessconfig
See:
Modify workflow
Add work item types
This is best performed on a (temporary) test Team project collection to finetine the process, you can then import the tested configuration into the existing project.

How to add a new Activity type to the Task work item in TFS 2018

I would like to do exactly what is being proposed in this question, but instead of VSTS, I'd like to do it in on a On-Premise TFS(2018):
"Is it possible to add a new Activity type on the Task work item in
VSTS and, if so, how can I do it? Thanks!"
I've followed the instructions explained here to export and modify my custom project template. However when I follow the instructions here(Step 5 of the original instructions) I get stuck at the "Configure Features" step, that does not appear in my implementation of TFS (Yes, my user account is part of "Project Collection Administrators"):
I'm sort of confused, there are people that claim this can't be done. In fact it's even stated in the process page:
"Changes you make to a process template will only apply to new team
projects. They will not affect existing team projects."
But the instructions clearly indicate that it can be, I just done see the "Configure features" link? The instructions indicate that the use case is after a TFS update, but if I just changed my custom template, how would I enable this, so I can implement my changes in the custom template?
Try below ways to achieve that:
Import, export, and manage work item types with witadmin
Export the specific work item type definition file (Task in your scenario). Run command prompt with administrator, if you are
using VS 2017, then cd C:\Program Files (x86)\Microsoft Visual
Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team
Explorer
witadmin exportwitd /collection:http://server:8080/tfs/DefaultCollection /p:ProjectName
/f:C:\temp\MyTask.xml /n:Task
Edit the exported WIT definition file (xml) with text editor, add a new Activity Type (e.g.: TestActivity0727in below
sample)
like below:
Save the file and import to TFS with witadmin command:
witadmin importwitd /collection:http://server:8080/tfs/DefaultCollection /p:ProjectName
/f:C:\temp\MyTask.xml /n:Task
Refresh the page, now the new activity should be worked in Task
work item.
Edit with TFS Process Template Editor, reference below screenshot:
For VS 2017, install the extension TFS Process Template Editor
For VS 2015, just install Microsoft Visual Studio Team Foundation
Server 2015 Power Tools

Epic WIT is not present after import with witadmin in TFS 2015

Because I have an older Scrum process template, in the update of TFS I did not get the Epic work item type that you get when you create a new Team Project. This is a know issue and you can manually enable this work item type by adding it to the existing process template.
However, adding the work item type does not seem to work. I followed the instructions of Microsoft here.
When I add the WIT, it goes without any problems. I get the nice message: "The work item type import has completed." I use for this the following command:
C:\Program Files (x86)\Microsoft Visual Studio 14.0>witadmin importwitd
/collection:"http://{tfsServerName}/tfs/{teamProjectCollection}"
/p:"{teamProject}"
/f:"C:\{localpath}\Scrum\WorkItem Tracking\TypeDefinitions\Epic.xml"
But when I try to retrieve the Epic work item type, I get the message that it does not exist. I get the following error message: TF201077: The work item type Epic cannot be found. It may have been renamed or destroyed. To retrieve the work item type I use the following command:
C:\Program Files (x86)\Microsoft Visual Studio 14.0>witadmin exportwitd
/collection:"http://{tfsServerName}/tfs/{teamProjectCollection}"
/p:"{teamProject}" /n:"Epic"
Why is the epic work item not added to TFS, while I get a message that the import is completed?

Adding WIT to TFS - to the whole collection?

I'm trying to modify a WIT and import it afterwards with witadmin.
From what I've seen, it's possible to import the WIT only to specific projects but not to the whole team project collection.
Is there really no way to do it?
On the same note - I'd also like to share a query to all project at once. Is it impossible as well?
Thank you!
You are correct: Work item modifications have to be individually applied to team projects, as do custom work item queries.
Just as Daniel said, it's project level based. There was nothing built in to achieve what you want.
However, you could use some workaround. One method is automating your WIT export\import with batch files (ExportWITDs.cmd, ImportWITDs.cmd). Then use the Checkin.cmd example to check-in the changes to a dedicated folder for WITs on the source control.
More detail steps you could refer this blog: How to Customize Work Item Types
First of all: You are right - you can't provide Wit's to Collections. The whole process configuration is defined on Teamproject level. But you can ease the task of updating all Teamprojects at once.
To share a WorkItemQuery or WorkItemType to several project you can write a batchfile where you import your modified file to one project after another.
I'm using this simple batch file to import changed Wit's to all of my projects (just pass in the path to the wit.xml file you want to import):
witadmin.exe importwitd /collection:http://servername:port/tfs/collectionName/ /p:ProjectName1 /f:%1
witadmin.exe importwitd /collection:http://servername:port/tfs/collectionName/ /p:ProjectName2 /f:%1
witadmin.exe importwitd /collection:http://servername:port/tfs/collectionName/ /p:ProjectName3 /f:%1
... add more projects here
On the Developer command prompt for VisualStudio call the *.bat file like this:
import.bat c:\temp\task.xml
As witadmin.exe doesn't provide the feature to import/export WorkItemQueries you can use wiqadmin instead. You can find it here.

Can we Export WIT BUG rename it and Import again on the same project

We have TFS 2010 environment, We have WIT BUG with so many customizations done. current need is want a new Work Item Type which has exactly same behaviour and functionality as “Bug”, but just a different name (Both Work Items, BUG and new WIT should be in the same team project). So can we Export WIT 'BUG' Rename it and import it to the same Team Project if we do this what are the impacts. Or what else we need to do and where we need to do changes. If not possible please let me know what is the best possible way to do this.
Absolutely you can do this, with no adverse consequences.
If you are using a Developer Command Prompt, the steps are:
Run: witadmin exportwitd /collection:http://yourserver:8080/tfs/YourCollection /p:YourProject /t:Bug /f:bug.xml
Open bug.xml, change the name element to something else at the top of the file. Save the file.
Run: witadmin importwitd /collection:http://yourserver:8080/tfs/YourCollection /p:YourProject /f:bug.xml

Resources