我已从tfs 2013 update 3升级到tfs 2015 update 2.我有两个项目集合,一个工作正常。另一个系列让我头疼不已!
我有团队项目使用自定义模板,但也有scrum / agile,所有团队项目在有问题的集合中都有相同的问题。
当我升级旧版本的tfs(tfs 2013 update 3)时,一切看起来都不错,但是在收集团队项目中,工作项“标题”字段都是“00000000-0000-0000-0000-000000000000”。我更深入地研究了问题,看起来system.title字段正在寻找“身份”。
创建新的产品备份日志项目时,我在“标题”字段中输入“test”,我收到以下错误“值的标识”TEST“for field”TITLE“是一个未知的标识”。该系列的先前版本的TFS(2013更新3)也附加了,在网络前端没有任何问题。 我们已经导出了XML工作项定义,没有任何“标题”字段具有链接到用户列表的任何约束,或者任何列表 - 唯一的限制是该字段是必需的。
有没有人有这个问题或者可以说明发生了什么?从旧环境到新环境的唯一变化是旧环境具有SharePoint服务器。
仅确认所有工作项包含值“00000000-0000-0000-0000-000000000000。
Product Backlog Item system.title example
<?xml version="1.0" encoding="UTF-8"?>
-<witd:WITD xmlns:witd="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/typedef" version="1.0" application="Work item type editor">
-<WORKITEMTYPE name="Product Backlog Item">
<DESCRIPTION>Tracks an activity the user will be able to perform with the product.</DESCRIPTION>
-<FIELDS>
<FIELD name="Iteration Path" reportable="dimension" type="TreePath" refname="System.IterationPath"/>
<FIELD name="Iteration ID" type="Integer" refname="System.IterationId"/>
<FIELD name="External Link Count" type="Integer" refname="System.ExternalLinkCount"/>
<FIELD name="Team Project" reportable="dimension" type="String" refname="System.TeamProject"/>
<FIELD name="Hyperlink Count" type="Integer" refname="System.HyperLinkCount"/>
<FIELD name="Attached File Count" type="Integer" refname="System.AttachedFileCount"/>
<FIELD name="Node Name" type="String" refname="System.NodeName"/>
<FIELD name="Area Path" reportable="dimension" type="TreePath" refname="System.AreaPath"/>
<FIELD name="Revised Date" reportable="detail" type="DateTime" refname="System.RevisedDate"/>
<FIELD name="Changed Date" reportable="dimension" type="DateTime" refname="System.ChangedDate"/>
<FIELD name="ID" reportable="dimension" type="Integer" refname="System.Id"/>
<FIELD name="Area ID" type="Integer" refname="System.AreaId"/>
<FIELD name="Authorized As" type="String" refname="System.AuthorizedAs" syncnamechanges="true"/>
-<FIELD name="Title" reportable="dimension" type="String" refname="System.Title">
<REQUIRED/>
</FIELD>
<FIELD name="State" reportable="dimension" type="String" refname="System.State"/>
<FIELD name="Authorized Date" type="DateTime" refname="System.AuthorizedDate"/>
<FIELD name="Watermark" type="Integer" refname="System.Watermark"/>
<FIELD name="Rev" reportable="dimension" type="Integer" refname="System.Rev"/>
<FIELD name="Changed By" reportable="dimension" type="String" refname="System.ChangedBy" syncnamechanges="true"/>
<FIELD name="Reason" reportable="dimension" type="String" refname="System.Reason"/>
-<FIELD name="Assigned To" reportable="dimension" type="String" refname="System.AssignedTo" syncnamechanges="true">
<ALLOWEXISTINGVALUE/>
<VALIDUSER group="[project]\Scrum Team"/>
</FIELD>
<FIELD name="Work Item Type" reportable="dimension" type="String" refname="System.WorkItemType"/>
<FIELD name="Created Date" reportable="dimension" type="DateTime" refname="System.CreatedDate"/>
<FIELD name="Created By" reportable="dimension" type="String" refname="System.CreatedBy" syncnamechanges="true"/>
<FIELD name="Description" type="HTML" refname="System.Description"/>
<FIELD name="History" type="History" refname="System.History"/>
<FIELD name="Related Link Count" type="Integer" refname="System.RelatedLinkCount"/>
<FIELD name="Tags" type="PlainText" refname="System.Tags"/>
<FIELD name="Board Column" reportable="dimension" type="String" refname="System.BoardColumn"/>
<FIELD name="Board Column Done" reportable="dimension" type="Boolean" refname="System.BoardColumnDone"/>
<FIELD name="Board Lane" reportable="dimension" type="String" refname="System.BoardLane"/>
-<FIELD name="Integration Build" reportable="dimension" type="String" refname="Microsoft.VSTS.Build.IntegrationBuild">
-<SUGGESTEDVALUES expanditems="true">
<LISTITEM value="<None>"/>
</SUGGESTEDVALUES>
-<SUGGESTEDVALUES expanditems="true" filteritems="excludegroups">
<GLOBALLIST name="Builds - Software"/>
</SUGGESTEDVALUES>
</FIELD>
-<FIELD name="Description HTML" type="HTML" refname="Microsoft.VSTS.Common.DescriptionHtml">
<DEFAULT value="The User Story must include: A Role, the Requirement and a Justification for the requirement. EXAMPLE USER STORY: As an [Electrical Lead], I want [to be able to navigate to the Results Analyser from a web browser], so that [I can analyse test results]." from="value"/>
</FIELD>
<FIELD name="Backlog Priority" reportable="detail" type="Double" refname="Microsoft.VSTS.Common.BacklogPriority"/>
-<FIELD name="Effort" reportable="measure" type="Double" refname="Microsoft.VSTS.Scheduling.Effort" formula="sum">
-<ALLOWEDVALUES expanditems="true">
<LISTITEM value="1"/>
<LISTITEM value="13"/>
<LISTITEM value="2"/>
<LISTITEM value="3"/>
<LISTITEM value="5"/>
<LISTITEM value="8"/>
</ALLOWEDVALUES>
</FIELD>
-<FIELD name="Business Value" reportable="measure" type="Integer" refname="Microsoft.VSTS.Common.BusinessValue" formula="sum">
-<ALLOWEDVALUES expanditems="true">
<LISTITEM value="1"/>
<LISTITEM value="2"/>
<LISTITEM value="3"/>
<LISTITEM value="4"/>
<LISTITEM value="5"/>
</ALLOWEDVALUES>
<DEFAULT value="3" from="value"/>
</FIELD>
-<FIELD name="Detailed Requirement" type="HTML" refname="Custom.DetailedRequirement">
<HELPTEXT>Detailed Business Requirement</HELPTEXT>
</FIELD>
-<FIELD name="Department" type="String" refname="Custom.Department">
<HELPTEXT>Department</HELPTEXT>
</FIELD>
-<FIELD name="Office" type="String" refname="Custom.Office">
<HELPTEXT>Stakeholder's Office</HELPTEXT>
</FIELD>
-<FIELD name="Telephone Number" type="String" refname="Custom.Telephone">
<HELPTEXT>Telephone Number</HELPTEXT>
</FIELD>
-<FIELD name="Email Address" type="String" refname="Custom.Email">
<HELPTEXT>Stakeholder's email address</HELPTEXT>
</FIELD>
-<FIELD name="Acceptance Test" type="HTML" refname="Custom.AcceptanceTest">
<HELPTEXT>Acceptance Test</HELPTEXT>
</FIELD>
-<FIELD name="Stakeholder" type="String" refname="Custom.StakeholderName">
<HELPTEXT>Stakeholder Name</HELPTEXT>
</FIELD>
-<FIELD name="WorkItem Notes" type="HTML" refname="Custom.WINotes">
<HELPTEXT>Work Item Notes</HELPTEXT>
</FIELD>
-<FIELD name="Dependancy" type="String" refname="Custom.Dependancy">
<HELPTEXT>Story is dependant on another story</HELPTEXT>
-<ALLOWEDVALUES expanditems="true">
<LISTITEM value="No"/>
<LISTITEM value="Yes"/>
</ALLOWEDVALUES>
<DEFAULT value="No" from="value"/>
</FIELD>
-<FIELD name="Relates" type="String" refname="Custom.Relates">
<HELPTEXT>Story relates to another story</HELPTEXT>
-<ALLOWEDVALUES expanditems="true">
<LISTITEM value="No"/>
<LISTITEM value="Yes"/>
</ALLOWEDVALUES>
<DEFAULT value="No" from="value"/>
</FIELD>
-<FIELD name="Support" type="String" refname="Custom.Support">
<HELPTEXT>Related to a Support Ticket</HELPTEXT>
-<ALLOWEDVALUES expanditems="true">
<LISTITEM value="No"/>
<LISTITEM value="Yes"/>
</ALLOWEDVALUES>
<DEFAULT value="No" from="value"/>
</FIELD>
-<FIELD name="Rank" reportable="detail" type="Integer" refname="Custom.Rank">
<HELPTEXT>Delivery Order</HELPTEXT>
</FIELD>
-<FIELD name="Planned Sprint" type="String" refname="Custom.PlannedSprint">
-<ALLOWEDVALUES expanditems="true">
<LISTITEM value="Sprint 1"/>
<LISTITEM value="Sprint 2"/>
<LISTITEM value="Sprint 3"/>
</ALLOWEDVALUES>
</FIELD>
-<FIELD name="Planned Release" type="String" refname="Custom.PlannedRelease">
-<ALLOWEDVALUES expanditems="true">
<LISTITEM value="Rel 1"/>
<LISTITEM value="Rel 2"/>
<LISTITEM value="Rel 3"/>
<LISTITEM value="Rel 4"/>
<LISTITEM value="Rel 5"/>
<LISTITEM value="Rel 6"/>
<LISTITEM value="Rel 7"/>
<LISTITEM value="Rel 8"/>
<LISTITEM value="Rel 9"/>
</ALLOWEDVALUES>
</FIELD>
<FIELD name="Version" type="String" refname="Custom.Version"/>
</FIELDS>
-<WORKFLOW>
-<STATES>
-<STATE value="Accepted">
-<FIELDS>
-<FIELD refname="Microsoft.VSTS.Common.BusinessValue">
<READONLY/>
</FIELD>
-<FIELD refname="Microsoft.VSTS.Scheduling.Effort">
<READONLY/>
</FIELD>
</FIELDS>
</STATE>
<STATE value="Deleted"/>
<STATE value="In Analysis"/>
<STATE value="In Development"/>
<STATE value="In test"/>
<STATE value="New"/>
<STATE value="Pending Approval"/>
<STATE value="Ready For Analysis"/>
<STATE value="Ready for Development"/>
<STATE value="Ready for Signoff"/>
<STATE value="Ready For Test"/>
<STATE value="Test Failed"/>
</STATES>
-<TRANSITIONS>
-<TRANSITION from="Ready for Development" for="[project]\Scrum Team" to="In Development">
-<REASONS>
<DEFAULTREASON value="Backlog Item: Assigned"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="In Development" for="[project]\Scrum Team" to="Ready For Test">
-<REASONS>
<DEFAULTREASON value="Backlog Item: Development Completed"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="Ready For Test" for="[project]\Scrum Team" to="In test">
-<REASONS>
<DEFAULTREASON value="Backlog Item: In Test"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="In test" for="[project]\Scrum Team" to="Ready for Signoff">
-<REASONS>
<DEFAULTREASON value="Backlog Item: QA Tests Completed"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="Ready for Signoff" for="[project]\Scrum Master" to="Accepted">
-<REASONS>
<DEFAULTREASON value="Backlog Item: Stakeholder Accepted"/>
</REASONS>
-<FIELDS>
-<FIELD refname="Custom.Version">
<REQUIRED for="[global]\Project Collection Valid Users"/>
</FIELD>
</FIELDS>
</TRANSITION>
-<TRANSITION from="In test" to="In Development">
-<REASONS>
<DEFAULTREASON value="Backlog Item - Development Issues Found"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="In test" for="[project]\Scrum Team" to="Test Failed">
-<REASONS>
<DEFAULTREASON value="Backlog Item: Failed Quality Assurance"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="Test Failed" for="[project]\Scrum Team" to="In Development">
-<REASONS>
<DEFAULTREASON value="Backlog Item: In Re-test"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="" for="[project]\Scrum Team" to="New">
-<REASONS>
<DEFAULTREASON value="New backlog item"/>
<REASON value="Build Failure"/>
</REASONS>
-<FIELDS>
-<FIELD refname="Microsoft.VSTS.Common.DescriptionHtml">
<DEFAULT value="As a <type of user> I want <some goal> so that <some reason>" from="value"/>
</FIELD>
-<FIELD refname="Microsoft.VSTS.Common.BacklogPriority">
<DEFAULT value="3" from="value"/>
</FIELD>
</FIELDS>
</TRANSITION>
-<TRANSITION from="In Analysis" for="[project]\Product Owner" to="New">
-<REASONS>
<DEFAULTREASON value="Backlog Item: Out of Scope"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="Ready for Development" for="[project]\Scrum Master" to="New">
-<REASONS>
<DEFAULTREASON value="Backlog Item: Out of Scope"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="New" for="[project]\Scrum Team" to="Deleted">
-<REASONS>
<DEFAULTREASON value="Backlog Item: Obsolete"/>
<REASON value="Backlog Item: Created in Error"/>
<REASON value="Backlog Item: Duplicated"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="New" to="In Analysis">
-<REASONS>
<DEFAULTREASON value="-"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="In Analysis" to="Ready for Development">
-<REASONS>
<DEFAULTREASON value="Analysis Complete"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="Deleted" to="New">
-<REASONS>
<DEFAULTREASON value="Deleted in error"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="Ready for Signoff" to="Test Failed">
-<REASONS>
<DEFAULTREASON value="Failed Regression or UAT"/>
</REASONS>
</TRANSITION>
-<TRANSITION from="Ready for Signoff" to="In Analysis">
-<REASONS>
<DEFAULTREASON value="Customer Amendment"/>
</REASONS>
</TRANSITION>
</TRANSITIONS>
</WORKFLOW>
-<FORM>
-<Layout>
-<Group>
-<Column PercentWidth="100">
<Control LabelPosition="Left" Label="&Title:" Type="FieldControl" FieldName="System.Title"/>
<Control LabelPosition="Left" Label="&Sprint:" Type="WorkItemClassificationControl" FieldName="System.IterationPath"/>
<Control LabelPosition="Left" Label="Feature:" Type="WorkItemClassificationControl" FieldName="System.AreaPath"/>
</Column>
</Group>
-<Group>
-<Column PercentWidth="50">
-<Group Label="Status">
-<Column PercentWidth="100">
<Control LabelPosition="Left" Label="Assi&gned To:" Type="FieldControl" FieldName="System.AssignedTo"/>
<Control LabelPosition="Left" Label="&State:" Type="FieldControl" FieldName="System.State"/>
<Control LabelPosition="Left" Label="Reason:" Type="FieldControl" FieldName="System.Reason"/>
<Control LabelPosition="Left" Label="In Version:" Type="FieldControl" FieldName="Custom.Version"/>
</Column>
</Group>
</Column>
-<Column PercentWidth="50">
-<Group Label="Details">
-<Column PercentWidth="100">
<Control LabelPosition="Left" Label="Business Value:" Type="FieldControl" FieldName="Microsoft.VSTS.Common.BusinessValue"/>
<Control LabelPosition="Left" Label="Story Points:" Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.Effort"/>
<Control LabelPosition="Left" Label="Backlog Priority:" Type="FieldControl" FieldName="Microsoft.VSTS.Common.BacklogPriority"/>
<Control LabelPosition="Left" Label="Rank:" Type="FieldControl" FieldName="Custom.Rank"/>
</Column>
</Group>
</Column>
</Group>
-<Group Label="">
-<Column PercentWidth="20">
<Control LabelPosition="Top" Label="Dependant User Story?" Type="FieldControl" FieldName="Custom.Dependancy"/>
</Column>
-<Column PercentWidth="20">
<Control LabelPosition="Top" Label="Related User Story?" Type="FieldControl" FieldName="Custom.Relates"/>
</Column>
-<Column PercentWidth="20">
<Control LabelPosition="Top" Label="Related Support Ticket?" Type="FieldControl" FieldName="Custom.Support"/>
</Column>
</Group>
-<Group Label="">
-<Column PercentWidth="50">
-<TabGroup>
-<Tab Label="User Story">
<Control LabelPosition="Top" Label="" Type="HtmlFieldControl" FieldName="Microsoft.VSTS.Common.DescriptionHtml"/>
</Tab>
-<Tab Label="Detailed Requirement">
<Control LabelPosition="Left" Label="" Type="HtmlFieldControl" FieldName="Custom.DetailedRequirement" MinimumSize="(0,600)"/>
</Tab>
-<Tab Label="Acceptance Criteria">
<Control LabelPosition="Top" Label="" Type="HtmlFieldControl" FieldName="Custom.AcceptanceTest" MinimumSize="(0,600)"/>
</Tab>
-<Tab Label="Storyboards">
-<Control LabelPosition="Top" Type="LinksControl" Name="StoryboardsControl">
-<LinksControlOptions>
-<LinkColumns>
<LinkColumn RefName="System.Title"/>
<LinkColumn LinkAttribute="System.Links.Comment"/>
</LinkColumns>
<WorkItemLinkFilters FilterType="excludeAll"/>
-<ExternalLinkFilters FilterType="include">
<Filter LinkType="Storyboard"/>
</ExternalLinkFilters>
</LinksControlOptions>
</Control>
</Tab>
</TabGroup>
</Column>
-<Column PercentWidth="50">
-<TabGroup>
-<Tab Label="Tasks">
-<Control LabelPosition="Top" Type="LinksControl" Name="Task">
-<LinksControlOptions>
-<LinkColumns>
<LinkColumn RefName="System.Id"/>
<LinkColumn RefName="System.Title"/>
<LinkColumn RefName="System.AssignedTo"/>
<LinkColumn RefName="System.State"/>
</LinkColumns>
-<WorkItemLinkFilters FilterType="include">
<Filter LinkType="System.LinkTypes.Hierarchy" FilterOn="forwardname"/>
</WorkItemLinkFilters>
<ExternalLinkFilters FilterType="excludeAll"/>
-<WorkItemTypeFilters FilterType="include" Scope="project">
<Filter WorkItemType="Sprint Backlog Task"/>
</WorkItemTypeFilters>
</LinksControlOptions>
</Control>
</Tab>
-<Tab Label="Links">
-<Control LabelPosition="Top" Label="" Type="LinksControl" Name="GeneralLinks">
-<LinksControlOptions>
-<LinkColumns>
<LinkColumn RefName="System.Id"/>
<LinkColumn RefName="System.Title"/>
<LinkColumn RefName="System.AssignedTo"/>
<LinkColumn RefName="System.State"/>
<LinkColumn LinkAttribute="System.Links.Comment"/>
</LinkColumns>
<WorkItemLinkFilters FilterType="includeAll"/>
<ExternalLinkFilters FilterType="includeAll"/>
<WorkItemTypeFilters FilterType="includeAll"/>
</LinksControlOptions>
</Control>
</Tab>
-<Tab Label="Attachments">
<Control LabelPosition="Top" Label="" Type="AttachmentsControl"/>
</Tab>
-<Tab Label="Stakeholder Information">
-<Group Label="Contact Information">
-<Column PercentWidth="100">
<Control LabelPosition="Left" Label="Name:" Type="FieldControl" FieldName="Custom.StakeholderName"/>
<Control LabelPosition="Left" Label="Department:" Type="FieldControl" FieldName="Custom.Department"/>
<Control LabelPosition="Left" Label="Office:" Type="FieldControl" FieldName="Custom.Office"/>
<Control LabelPosition="Left" Label="Telephone:" Type="FieldControl" FieldName="Custom.Telephone"/>
<Control LabelPosition="Left" Label="Email Address:" Type="FieldControl" FieldName="Custom.Email"/>
</Column>
</Group>
-<Group Label="Additional Information">
-<Column PercentWidth="100">
<Control LabelPosition="Left" Label="Notes:" Type="HtmlFieldControl" FieldName="Custom.WINotes"/>
</Column>
</Group>
</Tab>
-<Tab Label="History">
<Control LabelPosition="Top" Label="" Type="WorkItemLogControl" FieldName="System.History" Dock="Fill"/>
</Tab>
</TabGroup>
</Column>
</Group>
-<Group>
-<Column PercentWidth="10">
<Control LabelPosition="Top" Label="Planned Release:" Type="FieldControl" FieldName="Custom.PlannedRelease"/>
</Column>
-<Column PercentWidth="10">
<Control LabelPosition="Top" Label="Planned Sprint:" Type="FieldControl" FieldName="Custom.PlannedSprint"/>
</Column>
</Group>
</Layout>
</FORM>
</WORKITEMTYPE>
</witd:WITD>
答案 0 :(得分:0)
答案 1 :(得分:0)
我知道这是一个老帖子,但它可能在将来帮助某人。
从TFS 2013升级到TFS 2017时,我遇到了这个问题。问题是由于某些项目的WIT中包含这些行:
<FIELD refname="System.Title">
<WHEN field="System.WorkItemType" value="Test Case">
<VALIDUSER for="{cliente_user_group}" />
</WHEN>
</FIELD>
有了这个,升级后,我们在System.Title集合字段中获得此设置:
>witadmin listfields /collection:{collection} /n:System.Title
...
Synchronizes Identity Name Changes: True
这个标志不能在System.Title上更改,所以我们不得不回到TFS 2013来更改有问题的WIT。
从受影响项目的WITD中删除这些行并重新升级后,问题不再发生。