0
votes

I administrate an on-premises TFS server currently on TFS 2018.3.

I need to learn how to add a new column to the Kanban iteration board (which is where tasks are shown).

I searched and searched and found this post that is exactly relevant to this question, but the answer appears to only related to a different version of TFS (probably Azure DevOps 2019).

Nevertheless, I am able to download a copy of the Process (Agile), unzip and modify the tasks to show a new state. (I have incidentally also modified the witadmin (exportwitd) Tasks.xml and modified the workflow section to reflect the new state and state transitions.)

As a result, I can upload my new process template (after changing the name and guid), and create a new project based on it. When I create a story and sub-task, the new state and transitions behave as expected. However, no new column appears on my iteration board. If I transition the task to the new state, it simply disappears from the board.

I can alter columns for "User Stories", and create swimlanes and such with no issues. However, navigating to the Settings (Gear Icon) for the iteration does not give the "columns" setup that it does for User Stories.

Nevertheless, there must be a way to do it, because I can see that in my same collection, my new test project shows the columns "New", "Active", "Resolved", and "Closed", while other previously existing projects show only "Active" and "Closed", so there must be a means of configuring this on a project by project basis as the post suggests.

Can anyone describe for me how to add columns to the kanban iteration board?

1

1 Answers

0
votes

You need to export the process config file and add there the new state (and of course, add it to the work item XML states (e.g. Tasks.xml)).

Export the file:

witadmin exportprocessconfig /collection:CollectionURL /p:ProjectName [/f:FileName] [/e:encoding]    

There in the task category add the new state (under the <States>):

<TaskBacklog category="Microsoft.TaskCategory" parent="Microsoft.StoryCategory" pluralName="SubTasks" singularName="SubTask" workItemCountLimit="500">
<AddPanel>
  <Fields>
    <Field refname="System.Title" />
  </Fields>
</AddPanel>
<Columns>
  <Column width="400" refname="System.Title" />
  <Column width="100" refname="System.State" />
  <Column width="100" refname="System.AssignedTo" />
  <Column width="50" refname="Microsoft.VSTS.Scheduling.RemainingWork" />
</Columns>
<States>
  <State type="Proposed" value="Active" />
  <State type="Proposed" value="NEW-STATE" />
  <State type="InProgress" value="In Progress" />
  <State type="Complete" value="Done" />
</States>

Then import:

witadmin importprocessconfig /collection:CollectionURL [/p:ProjectName] /f:FileName [/e:encoding] [/v]