📜 ⬆️ ⬇️

Another version of TFS settings for team work

Publication structure



TFS 2015 was used, but much is true for earlier versions.

A little about why so?

For long-term projects, even for a small team, a system of planning and working with tasks, as well as a version control system, is required. There are ready-made development methods (Agile, Scrum, etc.) for which there are templates in TFS, but not at all enterprises are ready to implement them. This is especially true of enterprises, which is not developing a new product, but a refinement of the existing business requirements. Business doesn't care that your sprint has not ended and nothing more can be added to it. Maybe you want to talk about iterations. If a new important and, of course, urgent task appears, you will do it. And somehow make out in TFS-e, wasting time. Here, of course, someone will argue that you need to properly organize the structure of the IT department, for example, create a special "fire brigade". Or use a different approach to "fit" into one of the standard techniques. Yes, you can discuss this in the comments.

Scheme of work of development teams for which the setting is made

So, suppose there are several development teams. Each team is organized on the principle of an “operational team”, in which there are different specialists. Each team has its own area of ​​responsibility, its own development site. Sometimes it is convenient to start in TFS even departments that are not engaged in development.
Suppose we need three levels of tasks:
  1. Bottom - the tasks themselves are of several types. Each type must comply with the specialty of the developer. They are created by the developers themselves. As a result of decomposition or otherwise.
  2. Medium - tasks from the customer. This is the product backlog item level. Or Story. Here, each element contains the Wish list. Suppose they are created either by the customer or the team manager.
  3. Upper - projects or major goals. This is the Features level. Here you can group "Wishlist."

Also suppose that before taking a task into the work, it must be coordinated from someone. This can be an IT manager, a business analysis department, an automation department head, all at once or someone else.
Suppose each task goes through 4 stages:

Suppose that each task or project goes through 3 stages:

Finally, suppose you need to transfer tasks to neighboring development teams so that you can see it on your boards. That on your board you understand that the tasks are given to another team. And the other team saw that these were third-party tasks.
Suppose this is all that is required from the Work tab of your TFS. Next - how to set it up.

Configuring XML Ek

1. Settings need to start if you have no tasks yet. Otherwise there will be a lot of mistakes and difficult situations.
2. First you need to create a collection and several commands in TFS, distribute rights.
3. Next, you need to install Visual Studio, if you haven't already installed it.
4. Run Visual Studio.

')
5. Poke "Service / Extensions and Updates." Next, select “Online”. Further “Visual Studio Gallery”. We find and install from there. Or download and install the “Microsoft Visual Studio Team Foundation Server 2015 Power Tools” from the site. This is a free utility.
6. Next, run the console. We type this:
cd c:\Program…\Microsoft Visual Studio 14.0\Common7\IDE\ 

Here you will understand the path to your studio. Next, we type this, replacing the path, the name of the project and collection.
 witadmin exportprocessconfig /f:"c:\work\tfs2015\ProcessConfig.xml" /p:projectname /collection:"http://tfs2015:8080/tfs/CollectionName" 

7. A “ProcessConfig.XML” file is created. Its text needs to be changed. On this:
ProcessConfig.XML
 <?xml version="1.0" encoding="utf-8"?> <ProjectProcessConfiguration> <FeedbackRequestWorkItems category="Microsoft.FeedbackRequestCategory" pluralName="  " singularName=" "> <States> <State type="InProgress" value="" /> <State type="Complete" value="" /> </States> </FeedbackRequestWorkItems> <FeedbackResponseWorkItems category="Microsoft.FeedbackResponseCategory" pluralName="  " singularName="  "> <States> <State type="InProgress" value="" /> <State type="Complete" value="" /> </States> </FeedbackResponseWorkItems> <PortfolioBacklogs> <PortfolioBacklog category="Microsoft.EpicCategory" pluralName="" singularName="" workItemCountLimit="1000"> <AddPanel> <Fields> <Field refname="System.Title" /> </Fields> </AddPanel> <Columns> <Column width="100" refname="System.WorkItemType" /> <Column width="400" refname="System.Title" /> <Column width="100" refname="System.State" /> <Column width="50" refname="Microsoft.VSTS.Scheduling.Effort" /> <Column width="50" refname="Microsoft.VSTS.Common.BusinessValue" /> <Column width="100" refname="Microsoft.VSTS.Common.ValueArea" /> <Column width="200" refname="System.Tags" /> </Columns> <States> <State type="Proposed" value="" /> <State type="InProgress" value="" /> <State type="InProgress" value="" /> <State type="Complete" value="" /> </States> </PortfolioBacklog> <PortfolioBacklog category="Microsoft.FeatureCategory" parent="Microsoft.EpicCategory" pluralName="Projects" singularName="Project" workItemCountLimit="1000"> <AddPanel> <Fields> <Field refname="System.Title" /> </Fields> </AddPanel> <Columns> <Column width="100" refname="System.WorkItemType" /> <Column width="400" refname="System.Title" /> <Column width="100" refname="System.State" /> <Column width="50" refname="Microsoft.VSTS.Scheduling.Effort" /> <Column width="50" refname="Microsoft.VSTS.Common.BusinessValue" /> <Column width="100" refname="Microsoft.VSTS.Common.ValueArea" /> <Column width="200" refname="System.Tags" /> </Columns> <States> <State type="Proposed" value="New" /> <State type="InProgress" value="In progress" /> <State type="Complete" value="Done" /> </States> </PortfolioBacklog> </PortfolioBacklogs> <RequirementBacklog category="Microsoft.RequirementCategory" parent="Microsoft.FeatureCategory" pluralName="Stories" singularName="Story" workItemCountLimit="1000"> <AddPanel> <Fields> <Field refname="System.Title" /> </Fields> </AddPanel> <Columns> <Column width="100" refname="System.WorkItemType" /> <Column width="400" refname="System.Title" /> <Column width="100" refname="System.State" /> <Column width="50" refname="Microsoft.VSTS.Scheduling.StoryPoints" /> <Column width="100" refname="Microsoft.VSTS.Common.ValueArea" /> <Column width="200" refname="System.IterationPath" /> <Column width="200" refname="System.Tags" /> </Columns> <States> <State type="Proposed" value="New" /> <State type="InProgress" value="In progress" /> <State type="Complete" value="Done" /> </States> </RequirementBacklog> <TaskBacklog category="Microsoft.TaskCategory" parent="Microsoft.RequirementCategory" pluralName="" singularName="" workItemCountLimit="1000"> <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="ToDo" /> <State type="InProgress" value="In progress" /> <State type="InProgress" value="Review" /> <State type="Complete" value="Done" /> </States> </TaskBacklog> <TypeFields> <TypeField refname="Microsoft.VSTS.Common.Activity" type="Activity" /> <TypeField refname="Microsoft.VSTS.Common.StackRank" type="Order" /> <TypeField refname="Microsoft.VSTS.Feedback.ApplicationLaunchInstructions" type="ApplicationLaunchInstructions" /> <TypeField refname="Microsoft.VSTS.Feedback.ApplicationStartInformation" type="ApplicationStartInformation" /> <TypeField refname="Microsoft.VSTS.Feedback.ApplicationType" type="ApplicationType"> <TypeFieldValues> <TypeFieldValue type="ClientApp" value=" " /> <TypeFieldValue type="RemoteMachine" value=" " /> <TypeFieldValue type="WebApp" value="-" /> </TypeFieldValues> </TypeField> <TypeField format="{0} " refname="Microsoft.VSTS.Scheduling.RemainingWork" type="RemainingWork" /> <TypeField refname="Microsoft.VSTS.Scheduling.StoryPoints" type="Effort" /> <TypeField refname="System.AreaPath" type="Team" /> </TypeFields> <Weekends> <DayOfWeek>Sunday</DayOfWeek> <DayOfWeek>Saturday</DayOfWeek> </Weekends> <Properties> <Property name="HiddenBacklogs" value="Microsoft.EpicCategory" /> <Property name="BugsBehavior" value="AsTasks" /> </Properties> <WorkItemColors> <WorkItemColor primary="FF30A062" secondary="FF50D092" name="1C task" /> <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="C# task" /> <WorkItemColor primary="FFC0C0C0" secondary="FFC8C8C8" name="SQL task" /> <WorkItemColor primary="FF009CCC" secondary="FFD6ECF2" name="Story" /> <WorkItemColor primary="FF773B93" secondary="FFEEE2F2" name="Project" /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="   " /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name=" " /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name=" " /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name=" " /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name=" " /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="  " /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="   " /> <WorkItemColor primary="FFCC293D" secondary="FFFAEAE5" name="" /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name=" " /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="" /> <WorkItemColor primary="FFFF7B00" secondary="FFFFD7B5" name="" /> <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name=" " /> </WorkItemColors> </ProjectProcessConfiguration> 


Here I have removed everything that can be removed. This file describes the settings of the boards, the left pane, the list and the add items panel. The colors of the elements are listed below. Please note that the description uses the Russian version of TFS. In English, “Tasks” and “Task” will be called “Tasks” and “Task”, respectively. The same goes for the rest.
8. Next in the console type:
 cd c:\Program…\Microsoft Visual Studio 14.0\Common7\IDE\ witadmin exportcategories /f:"c:\work\tfs2015\Categories.xml" /p:projectname /collection: "http://tfs2015:8080/tfs/CollectionName" 

9. Replace the contents of the file with:
Categories.XML
 <?xml version="1.0" encoding="utf-8"?> <cat:CATEGORIES xmlns:cat="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/categories"> <CATEGORY refname="Microsoft.BugCategory" name=" "> <DEFAULTWORKITEMTYPE name="" /> </CATEGORY> <CATEGORY refname="Microsoft.EpicCategory" name=" "> <DEFAULTWORKITEMTYPE name="" /> </CATEGORY> <CATEGORY refname="Microsoft.FeatureCategory" name=" "> <DEFAULTWORKITEMTYPE name="Project" /> </CATEGORY> <CATEGORY refname="Microsoft.RequirementCategory" name=" "> <DEFAULTWORKITEMTYPE name="Story" /> </CATEGORY> <CATEGORY refname="Microsoft.TestCaseCategory" name="  "> <DEFAULTWORKITEMTYPE name=" " /> </CATEGORY> <CATEGORY refname="Microsoft.SharedStepCategory" name="  "> <DEFAULTWORKITEMTYPE name=" " /> </CATEGORY> <CATEGORY refname="Microsoft.SharedParameterCategory" name="  "> <DEFAULTWORKITEMTYPE name=" " /> </CATEGORY> <CATEGORY refname="Microsoft.CodeReviewRequestCategory" name="   "> <DEFAULTWORKITEMTYPE name="   " /> </CATEGORY> <CATEGORY refname="Microsoft.CodeReviewResponseCategory" name="    "> <DEFAULTWORKITEMTYPE name="   " /> </CATEGORY> <CATEGORY refname="Microsoft.FeedbackRequestCategory" name="  "> <DEFAULTWORKITEMTYPE name=" " /> </CATEGORY> <CATEGORY refname="Microsoft.FeedbackResponseCategory" name=" "> <DEFAULTWORKITEMTYPE name="  " /> </CATEGORY> <CATEGORY refname="Microsoft.TestPlanCategory" name="  "> <DEFAULTWORKITEMTYPE name=" " /> </CATEGORY> <CATEGORY refname="Microsoft.TestSuiteCategory" name="  "> <DEFAULTWORKITEMTYPE name=" " /> </CATEGORY> <CATEGORY refname="Microsoft.TaskCategory" name=" "> <DEFAULTWORKITEMTYPE name="SQL task" /> <WORKITEMTYPE name="C# task" /> <WORKITEMTYPE name="1C task" /> </CATEGORY> <CATEGORY refname="Microsoft.HiddenCategory" name="  "> <DEFAULTWORKITEMTYPE name="   " /> <WORKITEMTYPE name="   " /> <WORKITEMTYPE name=" " /> <WORKITEMTYPE name="  " /> <WORKITEMTYPE name=" " /> <WORKITEMTYPE name=" " /> <WORKITEMTYPE name=" " /> <WORKITEMTYPE name=" " /> <WORKITEMTYPE name="" /> <WORKITEMTYPE name="" /> </CATEGORY> </cat:CATEGORIES> 


In TFS, there are more than 3 classes of elements. Among them: tasks, errors, test cases and so on. This file describes what we need from this and how many variants of elements there can be for each class. For example, we ask that there will be three types of tasks. Below we list what we do not need.
10. Next, we need to configure the interface elements, as well as their life cycle. To do this, in Visual Studio we poke "Service / Process Editor / Work Item Types / Export WIT"


11. In the window that opens, set the parameters for connecting to your TFS.
12. Select the item “Task” from the list.


13. Save to a file with the same name. Further agree. Click OK.
14. Next, repeat for the type “User story” (Product Backlog) and “Opportunity” (Feature).
15. Next, replace the resulting XML task with this one and save it with the name “SQL task”:
SQL task.XML
 <q1:WITD application="Work item type editor" version="1.0" xmlns:q1="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef"> <WORKITEMTYPE name="SQL task"> <DESCRIPTION>  .</DESCRIPTION> <FIELDS> <FIELD name=" " refname="System.IterationPath" type="TreePath" reportable="dimension"> <HELPTEXT>,      </HELPTEXT> </FIELD> <FIELD name=" " refname="System.IterationId" type="Integer" /> <FIELD name="  " refname="System.ExternalLinkCount" type="Integer" /> <FIELD name=" " refname="System.TeamProject" type="String" reportable="dimension" /> <FIELD name=" " refname="System.HyperLinkCount" type="Integer" /> <FIELD name="  " refname="System.AttachedFileCount" type="Integer" /> <FIELD name=" " refname="System.NodeName" type="String" /> <FIELD name="  " refname="System.AreaPath" type="TreePath" reportable="dimension"> <HELPTEXT> ,     </HELPTEXT> </FIELD> <FIELD name="  " refname="System.RevisedDate" type="DateTime" reportable="detail" /> <FIELD name=" " refname="System.ChangedDate" type="DateTime" reportable="dimension" /> <FIELD name="" refname="System.Id" type="Integer" reportable="dimension" /> <FIELD name=" " refname="System.AreaId" type="Integer" /> <FIELD name=" " refname="System.AuthorizedAs" type="String" syncnamechanges="true" /> <FIELD name="" refname="System.Title" type="String" reportable="dimension"> <REQUIRED /> <HELPTEXT>       </HELPTEXT> </FIELD> <FIELD name="" refname="System.State" type="String" reportable="dimension"> <HELPTEXT> =  ,    ;  =  ,   ;  =   .</HELPTEXT> </FIELD> <FIELD name=" " refname="System.AuthorizedDate" type="DateTime" /> <FIELD name="" refname="System.Watermark" type="Integer" /> <FIELD name="" refname="System.Rev" type="Integer" reportable="dimension" /> <FIELD name=" " refname="System.ChangedBy" type="String" syncnamechanges="true" reportable="dimension"> <ALLOWEXISTINGVALUE /> <VALIDUSER /> </FIELD> <FIELD name="" refname="System.Reason" type="String" reportable="dimension"> <HELPTEXT>,       </HELPTEXT> </FIELD> <FIELD name=" " refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension"> <ALLOWEXISTINGVALUE /> <VALIDUSER /> <HELPTEXT>,        </HELPTEXT> </FIELD> <FIELD name="  " refname="System.WorkItemType" type="String" reportable="dimension" /> <FIELD name=" " refname="System.CreatedDate" type="DateTime" reportable="dimension" /> <FIELD name=" " refname="System.CreatedBy" type="String" syncnamechanges="true" reportable="dimension" /> <FIELD name="" refname="System.Description" type="HTML"> <HELPTEXT>  ,      ,  ,  </HELPTEXT> </FIELD> <FIELD name="" refname="System.History" type="History"> <HELPTEXT>     </HELPTEXT> </FIELD> <FIELD name="  " refname="System.RelatedLinkCount" type="Integer" /> <FIELD name="" refname="System.Tags" type="PlainText" /> <FIELD name=" " refname="System.BoardColumn" type="String" reportable="dimension" /> <FIELD name="  " refname="System.BoardColumnDone" type="Boolean" reportable="dimension" /> <FIELD name=" " refname="System.BoardLane" type="String" reportable="dimension" /> <FIELD name=" " refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure"> <HELPTEXT>   ,     </HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Scheduling.OriginalEstimate" type="Double" reportable="measure"> <HELPTEXT>    -  ,   </HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure"> <HELPTEXT>  ,    </HELPTEXT> </FIELD> <FIELD name="" refname="Microsoft.VSTS.Common.Activity" type="String" reportable="dimension"> <SUGGESTEDVALUES expanditems="true"> <LISTITEM value="" /> <LISTITEM value="" /> <LISTITEM value="" /> <LISTITEM value="" /> <LISTITEM value="" /> <LISTITEM value="" /> </SUGGESTEDVALUES> <HELPTEXT>  </HELPTEXT> </FIELD> <FIELD name="  " refname="Microsoft.VSTS.Common.StateChangeDate" type="DateTime"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> <WHENCHANGED field="System.State"> <SERVERDEFAULT from="clock" /> </WHENCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ActivatedDate" type="DateTime" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ActivatedBy" type="String" syncnamechanges="true" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <ALLOWEXISTINGVALUE /> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ClosedDate" type="DateTime" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ClosedBy" type="String" syncnamechanges="true" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <ALLOWEXISTINGVALUE /> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name="" refname="Microsoft.VSTS.Common.Priority" type="Integer" reportable="dimension"> <DEFAULT from="value" value="2" /> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="1" /> <LISTITEM value="2" /> <LISTITEM value="3" /> <LISTITEM value="4" /> </ALLOWEDVALUES> <HELPTEXT> </HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension"> <HELPTEXT>       .   .</HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension"> <SUGGESTEDVALUES expanditems="true"> <LISTITEM value="<>" /> </SUGGESTEDVALUES> <HELPTEXT>,     </HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Scheduling.StartDate" type="DateTime" reportable="dimension"> <HELPTEXT>  </HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Scheduling.FinishDate" type="DateTime" reportable="dimension"> <HELPTEXT>  </HELPTEXT> </FIELD> </FIELDS> <WORKFLOW> <STATES> <STATE value="Done"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <REQUIRED /> </FIELD> <FIELD refname="Microsoft.VSTS.Scheduling.RemainingWork"> <EMPTY /> </FIELD> </FIELDS> </STATE> <STATE value="Review"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> </FIELDS> </STATE> <STATE value="In progress"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> </FIELDS> </STATE> <STATE value="ToDo"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <EMPTY /> </FIELD> </FIELDS> </STATE> <STATE value="Removed" /> </STATES> <TRANSITIONS> <TRANSITION from="" to="ToDo"> <REASONS> <DEFAULTREASON value="ToDo" /> </REASONS> </TRANSITION> <TRANSITION from="ToDo" to="Removed"> <REASONS> <DEFAULTREASON value="   " /> </REASONS> </TRANSITION> <TRANSITION from="ToDo" to="In progress"> <ACTIONS> <ACTION value="Microsoft.VSTS.Actions.StartWork" /> </ACTIONS> <REASONS> <DEFAULTREASON value=" " /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <ALLOWEXISTINGVALUE /> <COPY from="currentuser" /> <VALIDUSER /> <REQUIRED /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <SERVERDEFAULT from="clock" /> </FIELD> <FIELD refname="System.AssignedTo"> <DEFAULT from="currentuser" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="In progress" to="ToDo"> <ACTIONS> <ACTION value="Microsoft.VSTS.Actions.StopWork" /> </ACTIONS> <REASONS> <DEFAULTREASON value=" " /> </REASONS> </TRANSITION> <TRANSITION from="In progress" to="Removed"> <REASONS> <DEFAULTREASON value="   " /> </REASONS> </TRANSITION> <TRANSITION from="In progress" to="Review"> <REASONS> <DEFAULTREASON value=" " /> </REASONS> </TRANSITION> <TRANSITION from="Review" to="In progress"> <REASONS> <DEFAULTREASON value="  " /> </REASONS> </TRANSITION> <TRANSITION from="Review" to="Done"> <ACTIONS> <ACTION value="Microsoft.VSTS.Actions.Checkin" /> </ACTIONS> <REASONS> <DEFAULTREASON value="" /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <COPY from="currentuser" /> <VALIDUSER /> <REQUIRED /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <SERVERDEFAULT from="clock" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <ALLOWEXISTINGVALUE /> <READONLY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <READONLY /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="Removed" to="ToDo"> <REASONS> <DEFAULTREASON value=" " /> </REASONS> </TRANSITION> <TRANSITION from="Done" to="Review"> <REASONS> <DEFAULTREASON value="" /> </REASONS> <FIELDS> <FIELD refname="System.AssignedTo"> <COPY from="field" field="Microsoft.VSTS.Common.ClosedBy" /> </FIELD> </FIELDS> </TRANSITION> </TRANSITIONS> </WORKFLOW> <FORM> <Layout HideControlBorders="true" HideReadOnlyEmptyFields="true"> <Group Margin="(4,0,0,0)"> <Column PercentWidth="90"> <Control FieldName="System.Title" Type="FieldControl" LabelPosition="Top" ControlFontSize="large" EmptyText="<  >" /> </Column> <Column PercentWidth="10"> <Control FieldName="System.ID" Type="FieldControl" LabelPosition="Top" ControlFontSize="large" /> </Column> </Group> <Group Margin="(10,0,0,0)"> <Column PercentWidth="30"> <Group Label=""> <Column PercentWidth="100"> <Control FieldName="System.AssignedTo" Type="FieldControl" Label="& " LabelPosition="Left" EmptyText="<>" /> <Control FieldName="System.State" Type="FieldControl" Label="&" LabelPosition="Left" /> <Control FieldName="System.Reason" Type="FieldControl" Label="" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="30"> <Group Label=""> <Column PercentWidth="100"> <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="&" LabelPosition="Left" /> <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="&" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="20"> <Group Label=""> <Column PercentWidth="100"> <Control FieldName="Microsoft.VSTS.Common.Priority" Type="FieldControl" Label="" LabelPosition="Left" /> <Control FieldName="Microsoft.VSTS.Common.Activity" Type="FieldControl" Label="" LabelPosition="Left" EmptyText="<>" /> </Column> </Group> </Column> <Column PercentWidth="20"> <Group Label=" ()"> <Column PercentWidth="100"> <Control FieldName="Microsoft.VSTS.Scheduling.OriginalEstimate" Type="FieldControl" Label=" " LabelPosition="Left" /> <Control FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Type="FieldControl" Label="" LabelPosition="Left" /> <Control FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Type="FieldControl" Label="" LabelPosition="Left" /> </Column> </Group> </Column> </Group> <Group> <Column PercentWidth="50"> <TabGroup> <Tab Label=""> <Control FieldName="System.Description" Type="HtmlFieldControl" LabelPosition="Top" Dock="Fill" /> </Tab> <Tab Label=""> <Group> <Column PercentWidth="50"> <Control FieldName="Microsoft.VSTS.Build.IntegrationBuild" Type="FieldControl" Label="  " LabelPosition="Left" /> </Column> <Column PercentWidth="50" /> </Group> <Control Type="LinksControl" LabelPosition="Top" Name="Hierarchy"> <LinksControlOptions> <LinkColumns> <LinkColumn RefName="System.ID" /> <LinkColumn RefName="System.WorkItemType" /> <LinkColumn RefName="System.Title" /> <LinkColumn RefName="System.AssignedTo" /> <LinkColumn RefName="System.State" /> <LinkColumn LinkAttribute="System.Links.Comment" /> </LinkColumns> <WorkItemLinkFilters FilterType="include"> <Filter LinkType="System.LinkTypes.Hierarchy" /> </WorkItemLinkFilters> <ExternalLinkFilters FilterType="excludeAll" /> <WorkItemTypeFilters FilterType="include"> <Filter WorkItemType="" /> <Filter WorkItemType=" " /> </WorkItemTypeFilters> </LinksControlOptions> </Control> </Tab> </TabGroup> </Column> <Column PercentWidth="50"> <TabGroup Margin="(5,0,0,0)"> <Tab Label=""> <Control FieldName="System.History" Type="WorkItemLogControl" LabelPosition="Top" Dock="Fill" /> </Tab> <Tab Label=" "> <Control Type="LinksControl" LabelPosition="Top" Name="GeneralLinks"> <LinksControlOptions> <LinkColumns> <LinkColumn RefName="System.ID" /> <LinkColumn RefName="System.WorkItemType" /> <LinkColumn RefName="System.Title" /> <LinkColumn RefName="System.AssignedTo" /> <LinkColumn RefName="System.State" /> <LinkColumn LinkAttribute="System.Links.Comment" /> </LinkColumns> </LinksControlOptions> </Control> </Tab> <Tab Label=""> <Control Type="AttachmentsControl" LabelPosition="Top" /> </Tab> </TabGroup> </Column> </Group> </Layout> </FORM> </WORKITEMTYPE> </q1:WITD> 


It describes the attributes that the element will own. Description of the interface element. Possible item states. As well as possible transitions from state to state.
16. Copy this file twice with the new names “C # task.XML” and “1C task.XML”. In each of them it is necessary to replace the title with the corresponding one in the third line.
17. Copy the User History.XML file to Story.XML and replace the contents with:
Story.XML
 <?xml version="1.0" encoding="utf-8"?> <witd:WITD application="Work item type editor" version="1.0" xmlns:witd="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef"> <WORKITEMTYPE name="Story"> <DESCRIPTION> ,       </DESCRIPTION> <FIELDS> <FIELD name=" " refname="System.IterationPath" type="TreePath" reportable="dimension"> <HELPTEXT>,        </HELPTEXT> </FIELD> <FIELD name=" " refname="System.IterationId" type="Integer" /> <FIELD name="  " refname="System.ExternalLinkCount" type="Integer" /> <FIELD name=" " refname="System.TeamProject" type="String" reportable="dimension" /> <FIELD name=" " refname="System.HyperLinkCount" type="Integer" /> <FIELD name="  " refname="System.AttachedFileCount" type="Integer" /> <FIELD name=" " refname="System.NodeName" type="String" /> <FIELD name="  " refname="System.AreaPath" type="TreePath" reportable="dimension"> <HELPTEXT> ,      </HELPTEXT> </FIELD> <FIELD name="  " refname="System.RevisedDate" type="DateTime" reportable="detail" /> <FIELD name=" " refname="System.ChangedDate" type="DateTime" reportable="dimension" /> <FIELD name="" refname="System.Id" type="Integer" reportable="dimension" /> <FIELD name=" " refname="System.AreaId" type="Integer" /> <FIELD name=" " refname="System.AuthorizedAs" type="String" syncnamechanges="true" /> <FIELD name="" refname="System.Title" type="String" reportable="dimension"> <HELPTEXT>,     </HELPTEXT> <REQUIRED /> </FIELD> <FIELD name="" refname="System.State" type="String" reportable="dimension"> <HELPTEXT> = ,    ; =    ;  =   ;  =   </HELPTEXT> </FIELD> <FIELD name=" " refname="System.AuthorizedDate" type="DateTime" /> <FIELD name="" refname="System.Watermark" type="Integer" /> <FIELD name="" refname="System.Rev" type="Integer" reportable="dimension" /> <FIELD name=" " refname="System.ChangedBy" type="String" syncnamechanges="true" reportable="dimension"> <ALLOWEXISTINGVALUE /> <VALIDUSER /> </FIELD> <FIELD name="" refname="System.Reason" type="String" reportable="dimension"> <HELPTEXT>,       </HELPTEXT> </FIELD> <FIELD name=" " refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension" /> <FIELD name="  " refname="System.WorkItemType" type="String" reportable="dimension" /> <FIELD name=" " refname="System.CreatedDate" type="DateTime" reportable="dimension" /> <FIELD name=" " refname="System.CreatedBy" type="String" syncnamechanges="true" reportable="dimension" /> <FIELD name="" refname="System.Description" type="HTML"> <HELPTEXT>    ,     </HELPTEXT> </FIELD> <FIELD name="" refname="System.History" type="History"> <HELPTEXT>     </HELPTEXT> </FIELD> <FIELD name="  " refname="System.RelatedLinkCount" type="Integer" /> <FIELD name="" refname="System.Tags" type="PlainText" /> <FIELD name=" " refname="System.BoardColumn" type="String" reportable="dimension" /> <FIELD name="  " refname="System.BoardColumnDone" type="Boolean" reportable="dimension" /> <FIELD name=" " refname="System.BoardLane" type="String" reportable="dimension" /> <FIELD name=" " refname="Microsoft.VSTS.Scheduling.StoryPoints" type="Double" reportable="measure" formula="sum"> <HELPTEXT>       </HELPTEXT> </FIELD> <FIELD name="  " refname="Microsoft.VSTS.Common.StateChangeDate" type="DateTime"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> <WHENCHANGED field="System.State"> <SERVERDEFAULT from="clock" /> </WHENCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ActivatedDate" type="DateTime" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ActivatedBy" type="String" syncnamechanges="true" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <ALLOWEXISTINGVALUE /> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ResolvedDate" type="DateTime" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ResolvedBy" type="String" syncnamechanges="true" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <ALLOWEXISTINGVALUE /> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ResolvedReason" type="String" reportable="dimension" /> <FIELD name=" " refname="Microsoft.VSTS.Common.ClosedDate" type="DateTime" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ClosedBy" type="String" syncnamechanges="true" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <ALLOWEXISTINGVALUE /> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name="" refname="Microsoft.VSTS.Common.Priority" type="Integer" reportable="dimension"> <HELPTEXT> . 1 =  , 4 =   .</HELPTEXT> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="1" /> <LISTITEM value="2" /> <LISTITEM value="3" /> <LISTITEM value="4" /> </ALLOWEDVALUES> <DEFAULT from="value" value="2" /> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension"> <HELPTEXT>       .   .</HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ValueArea" type="String"> <HELPTEXT> =     ;  =       </HELPTEXT> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="" /> <LISTITEM value="" /> </ALLOWEDVALUES> <REQUIRED /> <DEFAULT from="value" value="" /> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension"> <HELPTEXT>,     </HELPTEXT> <SUGGESTEDVALUES expanditems="true"> <LISTITEM value="<>" /> </SUGGESTEDVALUES> </FIELD> <FIELD name="" refname="Microsoft.VSTS.Common.Risk" type="String" reportable="dimension"> <HELPTEXT>    </HELPTEXT> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="1 - " /> <LISTITEM value="2 - " /> <LISTITEM value="3 - " /> </ALLOWEDVALUES> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Scheduling.StartDate" type="DateTime" reportable="dimension"> <HELPTEXT>    </HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Scheduling.FinishDate" type="DateTime" reportable="dimension"> <HELPTEXT>    ,   </HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.AcceptanceCriteria" type="HTML" /> </FIELDS> <WORKFLOW> <STATES> <STATE value="Done" /> <STATE value="In progress"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> </FIELDS> </STATE> <STATE value="New"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ResolvedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ResolvedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> </FIELDS> </STATE> <STATE value="Removed" /> </STATES> <TRANSITIONS> <TRANSITION from="New" to="Removed"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> </TRANSITION> <TRANSITION from="In progress" to="Removed"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> </TRANSITION> <TRANSITION from="In progress" to="Done"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <COPY from="currentuser" /> <VALIDUSER /> <REQUIRED /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <READONLY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <ALLOWEXISTINGVALUE /> <READONLY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <SERVERDEFAULT from="clock" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="Removed" to="New"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> </TRANSITION> <TRANSITION from="" to="New"> <REASONS> <DEFAULTREASON value="" /> </REASONS> </TRANSITION> <TRANSITION from="Done" to="In progress"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <ALLOWEXISTINGVALUE /> <COPY from="currentuser" /> <VALIDUSER /> <REQUIRED /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <SERVERDEFAULT from="clock" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="New" to="In progress"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <SERVERDEFAULT from="clock" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ResolvedDate"> <SERVERDEFAULT from="clock" /> </FIELD> </FIELDS> </TRANSITION> </TRANSITIONS> </WORKFLOW> <FORM> <Layout HideControlBorders="true" HideReadOnlyEmptyFields="true"> <Group Margin="(0,0,0,5)"> <Column PercentWidth="90"> <Control FieldName="System.Title" Type="FieldControl" LabelPosition="Top" ControlFontSize="large" EmptyText="<  >" /> </Column> <Column PercentWidth="10"> <Control FieldName="System.ID" Type="FieldControl" LabelPosition="Top" ControlFontSize="large" /> </Column> </Group> <Group Margin="(5,0,0,0)"> <Column PercentWidth="100"> <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="&" LabelPosition="Left" /> <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="&" LabelPosition="Left" /> <Control FieldName="System.State" Type="FieldControl" Label="&" LabelPosition="Left" /> </Column> </Group> <Group> <Column PercentWidth="100"> <TabGroup> <Tab Label=""> <Control FieldName="System.Description" Type="HtmlFieldControl" LabelPosition="Top" Dock="Fill" /> </Tab> <Tab Label=" "> <Control Type="LinksControl" LabelPosition="Top" Name="GeneralLinks"> <LinksControlOptions> <LinkColumns> <LinkColumn RefName="System.ID" /> <LinkColumn RefName="System.WorkItemType" /> <LinkColumn RefName="System.Title" /> <LinkColumn RefName="System.State" /> <LinkColumn LinkAttribute="System.Links.Comment" /> </LinkColumns> <WorkItemLinkFilters FilterType="includeAll" /> <ExternalLinkFilters FilterType="includeAll" /> <WorkItemTypeFilters FilterType="includeAll" /> </LinksControlOptions> </Control> </Tab> <Tab Label=""> <Control Type="AttachmentsControl" LabelPosition="Top" /> </Tab> <Tab Label=""> <Control FieldName="System.History" Type="WorkItemLogControl" LabelPosition="Top" Dock="Fill" /> </Tab> </TabGroup> </Column> </Group> </Layout> </FORM> </WORKITEMTYPE> </witd:WITD> 


18. «.XML» «Project.XML» ( , « .XML») :
Project.XML
 <?xml version="1.0" encoding="utf-8"?> <witd:WITD application="Work item type editor" version="1.0" xmlns:witd="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef"> <WORKITEMTYPE name="Project"> <DESCRIPTION> ,     </DESCRIPTION> <FIELDS> <FIELD name=" " refname="System.IterationPath" type="TreePath" reportable="dimension"> <HELPTEXT>,       </HELPTEXT> </FIELD> <FIELD name=" " refname="System.IterationId" type="Integer" /> <FIELD name="  " refname="System.ExternalLinkCount" type="Integer" /> <FIELD name=" " refname="System.TeamProject" type="String" reportable="dimension" /> <FIELD name=" " refname="System.HyperLinkCount" type="Integer" /> <FIELD name="  " refname="System.AttachedFileCount" type="Integer" /> <FIELD name=" " refname="System.NodeName" type="String" /> <FIELD name="  " refname="System.AreaPath" type="TreePath" reportable="dimension"> <HELPTEXT> ,     </HELPTEXT> </FIELD> <FIELD name="  " refname="System.RevisedDate" type="DateTime" reportable="detail" /> <FIELD name=" " refname="System.ChangedDate" type="DateTime" reportable="dimension" /> <FIELD name="" refname="System.Id" type="Integer" reportable="dimension" /> <FIELD name=" " refname="System.AreaId" type="Integer" /> <FIELD name=" " refname="System.AuthorizedAs" type="String" syncnamechanges="true" /> <FIELD name="" refname="System.Title" type="String" reportable="dimension"> <HELPTEXT>,     </HELPTEXT> <REQUIRED /> </FIELD> <FIELD name="" refname="System.State" type="String" reportable="dimension"> <HELPTEXT> = ,    ; =    ;  =   ;  =   </HELPTEXT> </FIELD> <FIELD name=" " refname="System.AuthorizedDate" type="DateTime" /> <FIELD name="" refname="System.Watermark" type="Integer" /> <FIELD name="" refname="System.Rev" type="Integer" reportable="dimension" /> <FIELD name=" " refname="System.ChangedBy" type="String" syncnamechanges="true" reportable="dimension"> <ALLOWEXISTINGVALUE /> <VALIDUSER /> </FIELD> <FIELD name="" refname="System.Reason" type="String" reportable="dimension"> <HELPTEXT>,       </HELPTEXT> </FIELD> <FIELD name=" " refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension" /> <FIELD name="  " refname="System.WorkItemType" type="String" reportable="dimension" /> <FIELD name=" " refname="System.CreatedDate" type="DateTime" reportable="dimension" /> <FIELD name=" " refname="System.CreatedBy" type="String" syncnamechanges="true" reportable="dimension" /> <FIELD name="" refname="System.Description" type="HTML"> <HELPTEXT>   ,        </HELPTEXT> </FIELD> <FIELD name="" refname="System.History" type="History"> <HELPTEXT>     </HELPTEXT> </FIELD> <FIELD name="  " refname="System.RelatedLinkCount" type="Integer" /> <FIELD name="" refname="System.Tags" type="PlainText" /> <FIELD name=" " refname="System.BoardColumn" type="String" reportable="dimension" /> <FIELD name="  " refname="System.BoardColumnDone" type="Boolean" reportable="dimension" /> <FIELD name=" " refname="System.BoardLane" type="String" reportable="dimension" /> <FIELD name="  " refname="Microsoft.VSTS.Common.StateChangeDate" type="DateTime"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> <WHENCHANGED field="System.State"> <SERVERDEFAULT from="clock" /> </WHENCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ActivatedDate" type="DateTime" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ActivatedBy" type="String" syncnamechanges="true" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <ALLOWEXISTINGVALUE /> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ResolvedDate" type="DateTime" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ResolvedBy" type="String" syncnamechanges="true" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <ALLOWEXISTINGVALUE /> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ResolvedReason" type="String" reportable="dimension" /> <FIELD name=" " refname="Microsoft.VSTS.Common.ClosedDate" type="DateTime" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ClosedBy" type="String" syncnamechanges="true" reportable="dimension"> <WHENNOTCHANGED field="System.State"> <ALLOWEXISTINGVALUE /> <READONLY /> </WHENNOTCHANGED> </FIELD> <FIELD name="" refname="Microsoft.VSTS.Common.Priority" type="Integer" reportable="dimension"> <HELPTEXT>   ,    </HELPTEXT> <REQUIRED /> <DEFAULT from="value" value="2" /> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="1" /> <LISTITEM value="2" /> <LISTITEM value="3" /> <LISTITEM value="4" /> </ALLOWEDVALUES> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.StackRank" type="Double" reportable="dimension"> <HELPTEXT>       .   .</HELPTEXT> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Common.ValueArea" type="String"> <HELPTEXT> = ,       ;  =      -,    </HELPTEXT> <REQUIRED /> <DEFAULT from="value" value="" /> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="" /> <LISTITEM value="" /> </ALLOWEDVALUES> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension"> <HELPTEXT>,     </HELPTEXT> <SUGGESTEDVALUES expanditems="true"> <LISTITEM value="<>" /> </SUGGESTEDVALUES> </FIELD> <FIELD name="" refname="Microsoft.VSTS.Common.Risk" type="String" reportable="dimension"> <HELPTEXT>  </HELPTEXT> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="1 - " /> <LISTITEM value="2 - " /> <LISTITEM value="3 - " /> </ALLOWEDVALUES> </FIELD> <FIELD name=" " refname="Microsoft.VSTS.Scheduling.TargetDate" type="DateTime" reportable="dimension"> <HELPTEXT>   </HELPTEXT> </FIELD> <FIELD name="  " refname="Microsoft.VSTS.Common.BusinessValue" type="Integer" reportable="measure" formula="sum"> <HELPTEXT>   ,   </HELPTEXT> </FIELD> <FIELD name="  " refname="Microsoft.VSTS.Common.TimeCriticality" type="Double"> <HELPTEXT>  -  .    ,       </HELPTEXT> </FIELD> <FIELD name="" refname="Microsoft.VSTS.Scheduling.Effort" type="Double" reportable="measure" formula="sum"> <HELPTEXT>    </HELPTEXT> </FIELD> </FIELDS> <WORKFLOW> <STATES> <STATE value="Done"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.BusinessValue"> <READONLY /> </FIELD> </FIELDS> </STATE> <STATE value="In progress"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> </FIELDS> </STATE> <STATE value="New"> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ResolvedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ResolvedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <EMPTY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <EMPTY /> </FIELD> </FIELDS> </STATE> <STATE value="Removed" /> </STATES> <TRANSITIONS> <TRANSITION from="In progress" to="Removed"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> </TRANSITION> <TRANSITION from="New" to="Removed"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> </TRANSITION> <TRANSITION from="In progress" to="Done"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ClosedBy"> <ALLOWEXISTINGVALUE /> <COPY from="currentuser" /> <VALIDUSER /> <REQUIRED /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <READONLY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <ALLOWEXISTINGVALUE /> <READONLY /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ClosedDate"> <SERVERDEFAULT from="clock" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="Done" to="In progress"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <ALLOWEXISTINGVALUE /> <COPY from="currentuser" /> <VALIDUSER /> <REQUIRED /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <SERVERDEFAULT from="clock" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="New" to="In progress"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> <FIELDS> <FIELD refname="Microsoft.VSTS.Common.ActivatedBy"> <COPY from="currentuser" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ActivatedDate"> <SERVERDEFAULT from="clock" /> </FIELD> <FIELD refname="Microsoft.VSTS.Common.ResolvedDate"> <SERVERDEFAULT from="clock" /> </FIELD> </FIELDS> </TRANSITION> <TRANSITION from="Removed" to="New"> <REASONS> <DEFAULTREASON value="..." /> </REASONS> </TRANSITION> <TRANSITION from="" to="New"> <REASONS> <DEFAULTREASON value="" /> </REASONS> </TRANSITION> </TRANSITIONS> </WORKFLOW> <FORM> <Layout HideControlBorders="true" HideReadOnlyEmptyFields="true"> <Group Margin="(0,0,0,5)"> <Column PercentWidth="90"> <Control FieldName="System.Title" Type="FieldControl" LabelPosition="Top" ControlFontSize="large" EmptyText="<  >" /> </Column> <Column PercentWidth="10"> <Control FieldName="System.ID" Type="FieldControl" LabelPosition="Top" ControlFontSize="large" /> </Column> </Group> <Group Margin="(5,0,0,0)"> <Column PercentWidth="50"> <Control FieldName="System.State" Type="FieldControl" Label="&" LabelPosition="Left" /> <Control FieldName="System.Reason" Type="FieldControl" Label="" LabelPosition="Left" /> </Column> <Column PercentWidth="50"> <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="&" LabelPosition="Left" /> <Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="&" LabelPosition="Left" /> </Column> </Group> <Group> <Column PercentWidth="70"> <TabGroup> <Tab Label=""> <Control FieldName="System.Description" Type="HtmlFieldControl" LabelPosition="Top" Dock="Fill" /> </Tab> <Tab Label=" "> <Control Type="LinksControl" LabelPosition="Top" Name="GeneralLinks"> <LinksControlOptions> <LinkColumns> <LinkColumn RefName="System.ID" /> <LinkColumn RefName="System.WorkItemType" /> <LinkColumn RefName="System.Title" /> <LinkColumn RefName="System.State" /> <LinkColumn LinkAttribute="System.Links.Comment" /> </LinkColumns> <WorkItemLinkFilters FilterType="includeAll" /> <ExternalLinkFilters FilterType="includeAll" /> <WorkItemTypeFilters FilterType="includeAll" /> </LinksControlOptions> </Control> </Tab> <Tab Label=""> <Control Type="AttachmentsControl" LabelPosition="Top" /> </Tab> <Tab Label=""> <Control FieldName="System.History" Type="WorkItemLogControl" LabelPosition="Top" Dock="Fill" /> </Tab> </TabGroup> </Column> </Group> </Layout> </FORM> </WORKITEMTYPE> </witd:WITD> 


Saving XML

1. Visual Studio « / Process Editor / Work Item Types / Import WIT»
2. «SQL task.XML».
3. : C# task.XML, 1C task.XML, Story.XML, Project.XML.
4. .
5. ProcessConfig.XML. :
 cd c:\Program…\Microsoft Visual Studio 14.0\Common7\IDE\ witadmin importprocessconfig /f:"c:\work\tfs2015\ProcessConfig.xml" /p:projectname /collection:"http://tfs2015:8080/tfs/CollectionName" 

6. , « .». Otherwise - alas. .
7. Categories.XML. :
 cd c:\Program…\Microsoft Visual Studio 14.0\Common7\IDE\ witadmin importcategories /f:"c:\work\tfs2015\Categories.xml" /p:projectname /collection:"http://tfs2015:8080/tfs/CollectionName" 

.
8. , « .». , .
9. TFS Project, Story .


TFS configuration via interface

1. « »

2. , .
3. « ». , , . , , . , .
4. . – « ». , , , , «». For example:


5. .
6. .
7. Projects, Story « ».
8. « ».
9. .

10. – «». For example:


11. «» , :


12. , :


13. «Stories». . . . ( ). ( 99). . .


14. .
15. «Projects».
16. .
Everything. – .

Source: https://habr.com/ru/post/306958/


All Articles