TFS 2012: Как добавить отображение багов на доске.

TFS Bugs Kanban

Как изветсно, в новой версии TFS 2012 появился "канбан". Однако по умолчанию там отображаются только задачи. А вот багов в списке нет.

Однако это можно исправить.

Для того, чтобы баги отображались на доске вместе с задачами их необходимо поместить в группу Microsoft.TaskCategory. Для этого надо выгрузить список категорий с помощью утилиты witadmin список категорий:

witadmin exportcategories /f:Categories.xml /collection:http://tfsserver:8080/tfs/defaultcollection /p:ProjectName

Затем немного модифицируем файл Categories.xml

<CATEGORY refname="Microsoft.TaskCategory" name="Task Category">
  <DEFAULTWORKITEMTYPE name="Task" />
  <WORKITEMTYPE name="Bug" />
</CATEGORY>

Затем импортируем его с помощью той же утилиты witadmin.

witadmin importcategories /f:Categories.xml /collection:http://tfsserver:8080/tfs/defaultcollection /p:ProjectName

Скорее всего сейчас доска с задачами вообще перестанет открываться. Ничего страшного, просто элемент Bug по умолчанию не имеет полей Discipline и Remaining Work. Однако и это решаемо.

Экспортируем описание бага в файл Bug.xml

witadmin exportwitd /n:Bug /f:bug.xml /collection:http://tfsserver:8080/tfs/defaultcollection /p:ProjectName

Добавляем необходимые поля:

<FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String" reportable="dimension">
  <HELPTEXT>The discipline to which the task belongs</HELPTEXT>
  <ALLOWEDVALUES expanditems="true">
    <LISTITEM value="Bug" />
  </ALLOWEDVALUES>
</FIELD>
<FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum">
  <HELPTEXT>An estimate of the work remaining to fix this bug (in person hours)</HELPTEXT>
</FIELD>
<FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum">
  <HELPTEXT>The work that has been fixed this bug (in person hours)</HELPTEXT>
</FIELD>
<FIELD name="Original Estimate" refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure" formula="sum">
  <HELPTEXT>The original estimate of units of work required to fix this bug</HELPTEXT>
</FIELD>

В разделе WORKFLOW добавляем

<Column PercentWidth="30">
    <Control FieldName="Microsoft.VSTS.Scheduling.OriginalEstimate" Type="FieldControl" Label="Original Estimate:" LabelPosition="Left"/>
</Column>
<Column PercentWidth="30">
    <Control FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Type="FieldControl" Label="Remaining work:" LabelPosition="Left" NumberFormat="DecimalNumbers" MaxLength="10"/>
</Column>
<Column PercentWidth="30">
    <Control FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Type="FieldControl" Label="Completed work:" LabelPosition="Left" NumberFormat="DecimalNumbers" MaxLength="10"/>
</Column>

Сохраняем изменения и импортируем в проект:

witadmin importwitd /f:bug.xml /collection:http://tfsserver:8080/tfs/defaultcollection /p:ProjectName

Теперь на доске будут отображаться как задачи так и баги.