<WITD application="Work item type editor" version="1.0">
	<WORKITEMTYPE name="Bug">
		<DESCRIPTION>Includes information to track the work to resolve the Bug and to verify its resolution.</DESCRIPTION>
		<FIELDS>
			<!-- ********** Core fields ******************* -->
			<FIELD name="Id" refname="System.Id" type="Integer">
			</FIELD>
			<FIELD name="Title" refname="System.Title" type="String">
				<HELPTEXT>Short description of the bug used to differentiate it in a list or report.</HELPTEXT>
				<REQUIRED/>
			</FIELD>
			<FIELD name="Assigned To" refname="System.AssignedTo" type="String">
				<VALIDUSER/>
			</FIELD>
			<FIELD name="Area Path" refname="System.AreaPath" type="TreePath">
				<HELPTEXT>The area of the product with which this bug is associated</HELPTEXT>
			</FIELD>
			<FIELD name="Iteration Path" refname="System.IterationPath" type="TreePath">
				<HELPTEXT>The iteration of the product with which this bug is associated</HELPTEXT>
			</FIELD>
			<FIELD name="History" refname="System.History" type="History">
				<HELPTEXT>Discussion thread and other historical information</HELPTEXT>
			</FIELD>
			<FIELD name="State" refname="System.State" type="String">
				<HELPTEXT>The workflow state of the bug</HELPTEXT>
			</FIELD>
			<FIELD name="Reason" refname="System.Reason" type="String">
				<HELPTEXT>The reason why the bug is in the current state.</HELPTEXT>
			</FIELD>
			<FIELD name="Changed Date" refname="System.ChangedDate" type="DateTime">
			</FIELD>
			<FIELD name="Changed By" refname="System.ChangedBy" type="String">
				<VALIDUSER/>
			</FIELD>
			<FIELD name="Created Date" refname="System.CreatedDate" type="DateTime">
			</FIELD>
			<FIELD name="Created By" refname="System.CreatedBy" type="String">
			</FIELD>
			<FIELD name="Description" refname="System.Description" type="PlainText">
			</FIELD>
			<!-- *************** Common Fields ****************   -->
			<FIELD name="Issue" refname="Microsoft.VSTS.Common.Issue" type="String" reportable="dimension">
				<HELPTEXT>Used to highlight the bug, e.g., to mark it as an issue.</HELPTEXT>
				<REQUIRED/>
				<ALLOWEDVALUES>
					<LISTITEM value="Yes"/>
					<LISTITEM value="No"/>
				</ALLOWEDVALUES>
				<DEFAULT from="value" value="No"/>
			</FIELD>
			<FIELD name="State Change Date" refname="Microsoft.VSTS.Common.StateChangeDate" type="DateTime">
				<WHENCHANGED field="System.State">
					<SERVERDEFAULT from="clock"/>
				</WHENCHANGED>
				<WHENNOTCHANGED field="System.State">
					<READONLY/>
				</WHENNOTCHANGED>
			</FIELD>
			<FIELD name="Activated Date" refname="Microsoft.VSTS.Common.ActivatedDate" type="DateTime" reportable="dimension">
				<WHENNOTCHANGED field="System.State">
					<READONLY/>
				</WHENNOTCHANGED>
			</FIELD>
			<FIELD name="Activated By" refname="Microsoft.VSTS.Common.ActivatedBy" type="String" reportable="dimension">
				<WHENNOTCHANGED field="System.State">
					<READONLY/>
				</WHENNOTCHANGED>
			</FIELD>
			<FIELD name="Resolved Date" refname="Microsoft.VSTS.Common.ResolvedDate" type="DateTime" reportable="dimension">
				<WHENNOTCHANGED field="System.State">
					<READONLY/>
				</WHENNOTCHANGED>
			</FIELD>
			<FIELD name="Resolved By" refname="Microsoft.VSTS.Common.ResolvedBy" type="String" reportable="dimension">
				<WHENNOTCHANGED field="System.State">
					<READONLY/>
				</WHENNOTCHANGED>
			</FIELD>
			<FIELD name="Resolved Reason" refname="Microsoft.VSTS.Common.ResolvedReason" type="String" reportable="dimension">
			</FIELD>
			<FIELD name="Closed Date" refname="Microsoft.VSTS.Common.ClosedDate" type="DateTime" reportable="dimension">
				<WHENNOTCHANGED field="System.State">
					<READONLY/>
				</WHENNOTCHANGED>
			</FIELD>
			<FIELD name="Closed By" refname="Microsoft.VSTS.Common.ClosedBy" type="String" reportable="dimension">
				<WHENNOTCHANGED field="System.State">
					<READONLY/>
				</WHENNOTCHANGED>
			</FIELD>
			<FIELD name="Priority" refname="Microsoft.VSTS.Common.Priority" type="Integer" reportable="dimension">
				<HELPTEXT>Priority to the business</HELPTEXT>
				<ALLOWEDVALUES>
					<LISTITEM value="1"/>
					<LISTITEM value="2"/>
					<LISTITEM value="3"/>
				</ALLOWEDVALUES>
				<DEFAULT from="value" value="2"/>
			</FIELD>
			<FIELD name="Triage" refname="Microsoft.VSTS.Common.Triage" type="String" reportable="dimension">
				<HELPTEXT>Status of triaging the bug</HELPTEXT>
				<ALLOWEDVALUES>
					<LISTITEM value="Approved"/>
					<LISTITEM value="Investigate"/>
				</ALLOWEDVALUES>
			</FIELD>
			<FIELD name="Rank" refname="Microsoft.VSTS.Common.Rank" type="String" reportable="dimension">
				<HELPTEXT>Stack rank used to prioritize work</HELPTEXT>
			</FIELD>
			<!-- **************** Test Integration Fields *************************************************  -->
			<FIELD name="Test Name" refname="Microsoft.VSTS.Test.TestName" type="String" reportable="detail">
				<HELPTEXT>The name of the test that found this bug</HELPTEXT>
			</FIELD>
			<FIELD name="Test Id" refname="Microsoft.VSTS.Test.TestId" type="String" reportable="detail">
				<HELPTEXT>The Id of the test that found this bug</HELPTEXT>
			</FIELD>
			<FIELD name="Test Path" refname="Microsoft.VSTS.Test.TestPath" type="String" reportable="detail">
				<HELPTEXT>The full pathname of the test that found this bug</HELPTEXT>
			</FIELD>
			<!-- **************** Build Integration Fields ******************************************************  -->
			<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
				<HELPTEXT>The build in which the bug was found</HELPTEXT>
				<SUGGESTEDVALUES>
					<LISTITEM value="&lt;None&gt;"/>
				</SUGGESTEDVALUES>
			</FIELD>
			<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
				<HELPTEXT>The build in which the bug was fixed</HELPTEXT>
				<SUGGESTEDVALUES>
					<LISTITEM value="&lt;None&gt;"/>
				</SUGGESTEDVALUES>
			</FIELD>
		</FIELDS>
		<WORKFLOW>
			<STATES>
				<STATE value="Active">
					<FIELDS>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedDate"><EMPTY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedBy"><EMPTY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedReason"><EMPTY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ClosedDate"><EMPTY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ClosedBy"><EMPTY/></FIELD>
					</FIELDS>
				</STATE>
				<STATE value="Resolved">
					<FIELDS>
						<FIELD refname="Microsoft.VSTS.Common.ClosedDate"><EMPTY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ClosedBy"><EMPTY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
							<COPY from="field" field="System.Reason"/>
						</FIELD>
					</FIELDS>
				</STATE>
				<STATE value="Closed">
				</STATE>
			</STATES>
			<TRANSITIONS>
				<TRANSITION from="" to="Active">
					<REASONS>
						<DEFAULTREASON value="New"/>
						<REASON value="Build Failure"/>
					</REASONS>
					<FIELDS>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
							<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="Active" to="Resolved">
					<ACTIONS>
						<ACTION value="Microsoft.VSTS.Actions.Checkin"/>
					</ACTIONS>
					<REASONS>
						<DEFAULTREASON value="Fixed"/>
						<REASON value="Deferred"/>
						<REASON value="Duplicate"/>
						<REASON value="As Designed"/>
						<REASON value="Unable to Reproduce"/>
						<REASON value="Obsolete"/>
					</REASONS>
					<FIELDS>
						<FIELD refname="System.AssignedTo"><COPY from="field" field="System.CreatedBy"/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedDate"><READONLY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedBy"><READONLY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
							<COPY from="currentuser"/>
							<VALIDUSER/>
							<REQUIRED/>
						</FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedDate"><SERVERDEFAULT from="clock"/></FIELD>
					</FIELDS>
				</TRANSITION>
				<TRANSITION from="Resolved" to="Active">
					<REASONS>
						<REASON value="Test Failed"/>
						<DEFAULTREASON value="Resolution Denied"/>
						<REASON value="Wrong Fix"/>
					</REASONS>
					<FIELDS>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
							<COPY from="currentuser"/>
							<VALIDUSER/>
							<REQUIRED/>
						</FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedDate"><SERVERDEFAULT from="clock"/></FIELD>
						<FIELD refname="System.AssignedTo"><COPY from="field" field="Microsoft.VSTS.Common.ResolvedBy"/></FIELD>
					</FIELDS>
				</TRANSITION>
				<TRANSITION from="Resolved" to="Closed">
					<REASONS>
						<DEFAULTREASON value="Fixed"/>
						<REASON value="Deferred"/>
						<REASON value="Duplicate"/>
						<REASON value="As Designed"/>
						<REASON value="Unable to Reproduce"/>
						<REASON value="Obsolete"/>
					</REASONS>
					<FIELDS>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedDate"><READONLY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedBy"><READONLY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedDate"><READONLY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedBy"><READONLY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ClosedDate"><SERVERDEFAULT from="clock"/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
							<COPY from="currentuser"/>
							<VALIDUSER/>
							<REQUIRED/>
						</FIELD>
					</FIELDS>
				</TRANSITION>
				<TRANSITION from="Active" to="Closed">
					<REASONS>
						<DEFAULTREASON value="Deferred"/>
						<REASON value="Obsolete"/>
						<REASON value="Duplicate"/>
						<REASON value="As Designed"/>
						<REASON value="Unable to Reproduce"/>
						<REASON value="Fixed"/>
					</REASONS>
					<FIELDS>
						<FIELD refname="System.AssignedTo"><COPY from="field" field="System.CreatedBy"/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedDate"><READONLY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedBy"><READONLY/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
							<COPY from="currentuser"/>
							<VALIDUSER/>
							<REQUIRED/>
						</FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedDate"><SERVERDEFAULT from="clock"/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
							<COPY from="field" field="System.Reason"/>
						</FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ClosedDate"><SERVERDEFAULT from="clock"/></FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
							<COPY from="currentuser"/>
							<VALIDUSER/>
							<REQUIRED/>
						</FIELD>
					</FIELDS>
				</TRANSITION>
				<TRANSITION from="Closed" to="Active">
					<REASONS>
						<DEFAULTREASON value="Regression"/>
						<REASON value="Reactivated"/>
					</REASONS>
					<FIELDS>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
							<COPY from="currentuser"/>
							<VALIDUSER/>
							<REQUIRED/>
						</FIELD>
						<FIELD refname="Microsoft.VSTS.Common.ActivatedDate"><SERVERDEFAULT from="clock"/></FIELD>
						<FIELD refname="System.AssignedTo"><COPY from="field" field="Microsoft.VSTS.Common.ResolvedBy"/></FIELD>
					</FIELDS>
				</TRANSITION>
			</TRANSITIONS>
		</WORKFLOW>
		<FORM>
			<!-- Guidelines for updating the form section
				 1) All labels should have mnemonics (you must use &amp; not just &)
				 2) No mnemonics on Tabs or Group Boxes
				 3) Labels must use sentence casing (i.e. "Assigned to:" is correct; "Assigned To:" is wrong)
				 4) No colons in Group Boxes
				 5) Label names should match the field name in whole or in part. They should not be completely different.
				 6) Do not use the same mnemonics on two labels
				 
				 The following mnemonics are common to MSF Agile work items:
				 T -> Title
				 A -> Area
				 I -> Iteration
				 G -> Assigned to
				 S -> State
				 R -> Reason
				 H -> Comment and history
				 U -> Issue
				 X -> Exit criteria
				 B -> Integration build
				 W -> Remaining work
				 P -> Completed work
				 D -> Description
				 K -> Rank
				 
				 The following mnemonics are also used on this work item type
				 Y -> Priority
				 E -> Triage
				 F -> Found in build
				 N -> Name -> TestName
				 D -> ID -> TestId
				 P -> Path -> TestPath
			-->
			<Layout>
				<Group>
					<Column PercentWidth="100">
						<Control Type="FieldControl" FieldName="System.Title" Label="&amp;Title:" LabelPosition="Left"/>
					</Column>
				</Group>
				<Group>
					<Column PercentWidth="100">
						<Group Label="Classification">
							<Column PercentWidth="100">
								<Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&amp;Area:" LabelPosition="Left"/>
								<Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&amp;Iteration:" LabelPosition="Left"/>
							</Column>
						</Group>
					</Column>
				</Group>
				<Group Label="Status">
					<Column PercentWidth="33">
						<Control Type="FieldControl" FieldName="System.AssignedTo" Label="Assi&amp;gned to:" LabelPosition="Left"/>
						<Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Rank" Label="Ran&amp;k:" LabelPosition="Left" NumberFormat="WholeNumbers" MaxLength="10"/>
					</Column>
					<Column PercentWidth="33">
						<Control Type="FieldControl" FieldName="System.State" Label="&amp;State:" LabelPosition="Left"/>
						<Control Type="FieldControl" FieldName="System.Reason" Label="&amp;Reason:" LabelPosition="Left"/>
					</Column>
					<Column PercentWidth="33">
						<Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Triage" Label="Triag&amp;e:" LabelPosition="Left"/>
						<Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Priority" Label="Priorit&amp;y:" LabelPosition="Left"/>
					</Column>
				</Group>
				<TabGroup>
					<Tab Label="Description">
						<Control Type="HtmlFieldControl" FieldName="System.Description" Label="Des&amp;cription:" LabelPosition="Top" Dock="Fill"/>
					</Tab>
					<Tab Label="History">
						<Control Type="WorkItemLogControl" FieldName="System.History" Label="&amp;History:" LabelPosition="Top" Dock="Fill"/>
					</Tab>
					<Tab Label="Links">
						<Control Type="LinksControl"/>
					</Tab>
					<Tab Label="File Attachments">
						<Control Type="AttachmentsControl"/>
					</Tab>
					<Tab Label="Details">
						<Group>
							<Column PercentWidth="50">
								<Group Label="General">
									<Column PercentWidth="100">
										<Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&amp;ue:" LabelPosition="Left"/>
										<Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.FoundIn" Label="&amp;Found in build:" LabelPosition="Left"/>
										<Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Resolved in &amp;build:" LabelPosition="Left"/>
									</Column>
								</Group>
							</Column>
							<Column PercentWidth="50">
								<Group Label="Test">
									<Column PercentWidth="100">
										<Control Type="FieldControl" FieldName="Microsoft.VSTS.Test.TestName" Label="&amp;Name:" LabelPosition="Left"/>
										<Control Type="FieldControl" FieldName="Microsoft.VSTS.Test.TestId" Label="I&amp;d:" LabelPosition="Left"/>
										<Control Type="FieldControl" FieldName="Microsoft.VSTS.Test.TestPath" Label="&amp;Path:" LabelPosition="Left"/>
									</Column>
								</Group>
							</Column>
						</Group>
					</Tab>
				</TabGroup>
			</Layout>
		</FORM>
	</WORKITEMTYPE>
</WITD>
