Search code examples
xmltfstfs-2015

TFS 2015 - Rename Product Backlog Item & Show field based on another field state


How can I rename the name of the "Product Backlog Item" from the selection on TFS 2015

enter image description here

Secondly, I have added a new field in my Bug.xml, how can I set this particular field to only show when the State: field is "Done"? I have it showing now, but i need it to only be visible when the bug is marked as Done (State).

enter image description here

Thirdly, how Can i remove options from the drop down in image #1, for example Impediment & Feature specifically.

for #1 and #3 I can possibly use witadmin destroywitd / witadmin renamewitd after some researching, however I'm afraid what knock on effects it may have


Solution

  • For #1, you could use witadmin renamewitd command to achieve:

    witadmin renamewitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"team project name" /n:"Product Backlog Item" /new:"New name"
    

    For #2, you just add a WHENNOT rule for this custom field like this:

    <FIELD name="Root Cause" refname="core.resolution" type="String">
            <ALLOWEDVALUES expanditems="true">
              <LISTITEM value="value1" />
              <LISTITEM value="value2" />
              <LISTITEM value="value3" />
            </ALLOWEDVALUES>
            <WHENNOT field="System.State" value="Done">
              <READONLY />
            </WHENNOT>
          </FIELD>
    

    Using WHENNOT rule, you won't see the RootCause dropdown list until the state changed to Done.

    For #3, you should first export the Category file of your team project. Then find the Hidden Types Category, add the Impediment under the Hidden Types Category:

    <CATEGORY refname="Microsoft.HiddenCategory" name="Hidden Types Category">
        <DEFAULTWORKITEMTYPE name="Code Review Request" />
          ......
        <WORKITEMTYPE name="Impediment" />
      </CATEGORY>