我将TFS 2015 Update 3升级到2018 Update2。总体而言,一切正常,但是对于一个项目,尤其是我无法访问“工作”选项卡。运行流程模板更新向导时,会弹出以下警告和错误。 TFS发现敏捷模板是最合适的模板。
[警告] TF400609:无法添加操作 'Microsoft.VSTS.Actions.StartWork'到工作项类型'Task' 因为状态'New'不存在。
[警告] TF400609:无法添加操作 'Microsoft.VSTS.Actions.StopWork'到工作项类型'Task',因为 状态“新”不存在。
[警告] TF400609:无法添加操作 'Microsoft.VSTS.Actions.StartWork'到工作项目类型'Bug',因为 状态“新”不存在。
[警告] TF400609:无法添加操作 'Microsoft.VSTS.Actions.StopWork'到工作项类型'Bug',因为 状态“新”不存在。
[警告] VS402404:TaskBoard上的错误:错误没有 定义了Microsoft.VSTS.Common.Activity字段。有些图表不会 包括这些工作项类型。
[警告] VS402404:TaskBoard上的错误:错误没有 定义了Microsoft.VSTS.Scheduling.RemainingWork字段。一些图表 将不包括这些工作项类型。
[警告] TF400607:类别“ Microsoft.HiddenCategory”将为 覆盖。
[错误] TF400654:无法配置计划工具。下列 元素包含错误:属性。该元素定义了 团队项目的属性。 “ WorkItemTypeIcons”的值 属性无效。 VS403291:成对的无效工作项类型 'Issue = icon_traffic_cone'。
需要做什么才能正确解决此问题?我了解如何创建新的流程模板,但想确认升级后TFS 2018中默认的敏捷模板是否已损坏以及是否可以修复?
答案 0 :(得分:1)
我终于解决了这个问题。为了社区的利益,我没有在网上找到太多信息并在下面发布解决步骤。
这个项目有两个不同寻常的问题。这是一个旧项目,它是从多个以前的TFS版本迁移而来的,并且还具有模板过程自定义项。这样可以防止流程模板自动更新。
解决方案的步骤是:
1)从TFS 2018下载敏捷流程
2)从“问题项目”项目中导出所有必要的定义。这显示了许多错误。例如,未定义ProcessConfiguration,未定义FeedbackRequest等。要获取这些错误,请运行以下命令并查看导出的文件内部:
witadmin.exe exportcategories /collection:"http://tfsonprem:8080/tfs/FRTS_Projects/" /p:"The Problem Project" /f:"C:\TFSFix\categories.xml"
witadmin.exe exportprocessconfig /collection:"http://tfsonprem:8080/tfs/FRTS_Projects/" /p:"The Problem Project" /f:"C:\TFSFix\processconfig.xml"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\bug.xml" /n:"bug"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\codereviewrequest.xml" /n:"code review request"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\codereviewresponse.xml" /n:"code review response"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Epic.xml" /n:"epic"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\feature.xml" /n:"feature"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\feedbackrequest.xml" /n:"feedback request"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\feedbackresponse.xml" /n:"feedback response"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\issue.xml" /n:"issue"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Sharedparameter.xml" /n:"Shared parameter"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\SharedStep.xml" /n:"Shared Step"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Task.xml" /n:"Task"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Testcase.xml" /n:"test case"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\testplan.xml" /n:"test plan"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\testsuite.xml" /n:"test suite"
witadmin.exe exportwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\user story.xml" /n:"user story"
3)从敏捷过程中导入缺少的定义:
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\TypeDefinitions\codereviewrequest.xml"
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\TypeDefinitions\codereviewresponse.xml"
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\TypeDefinitions\Epic.xml"
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\TypeDefinitions\feature.xml"
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\TypeDefinitions\feedbackrequest.xml"
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\TypeDefinitions\feedbackresponse.xml"
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\TypeDefinitions\issue.xml"
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\TypeDefinitions\Sharedparameter.xml"
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\TypeDefinitions\SharedStep.xml"
4)也从敏捷流程中导入processconfig和类别:
witadmin.exe importcategories /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\categories.xml"
witadmin.exe importprocessconfig /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Agile\WorkItem Tracking\Process\processconfiguration.xml"
5)步骤4显示了其他错误,阻止了导入**。这是由于我们对敏捷流程的定制。修复现有流程UserStory.xml和Bug.xml中的错误并重新导入定义:
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\UserStory.xml"
witadmin.exe importwitd /collection:"http://tfsonprem:8080/tfs/DefaultCollection/" /p:"The Problem Project" /f:"C:\TFSFix\Bug.xml"
还修复了流程配置***
6)重复步骤4。这两个命令都必须正确运行
就是这样。
=======
** UserStory.xml和Bug.xml中缺少一个新字段
<FIELD name="Value Area" refname="Microsoft.VSTS.Common.ValueArea" type="String">
<REQUIRED />
<ALLOWEDVALUES>
<LISTITEM value="Architectural" />
<LISTITEM value="Business" />
</ALLOWEDVALUES>
<DEFAULT from="value" value="Business" />
<HELPTEXT>The type should be set to Business primarily to represent customer-facing issues. Work to change the architecture should be added as a User Story</HELPTEXT>
</FIELD>
***有些定制只是我们孤立的案例,可能与社区无关。仅作记录,流程配置还需要对状态进行一些更新:
<TaskBacklog category="Microsoft.TaskCategory" pluralName="Tasks" singularName="Task" workItemCountLimit="1000">
<States>
<State value="Active" type="Proposed" />
<State value="In QA" type="InProgress" />
<State value="In Review" type="InProgress" />
<State value="Closed" type="Complete" />
</States>
答案 1 :(得分:0)
TFS 2018具有与旧版本TFS 2015相比的新形式...
根据警告和错误消息,您需要自定义流程模板以解决此问题:
Microsoft文档Resolve errors received when configuring features中提到了错误TF400654
和警告TF400609
,请尝试相关的解决方案:
States
元素并添加缺少的字段或状态以匹配您的工作项状态。对于错误VS403291
图标问题,您可以参考以下博客进行故障排除: