TFS 2018升级错误Issue = icon_traffic_cone

时间:2018-10-03 16:14:48

标签: tfs upgrade tfs2018

我将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中默认的敏捷模板是否已损坏以及是否可以修复?

2 个答案:

答案 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,请尝试相关的解决方案:

  1. Export process configuration使用 witadmin exportprocessconfig。
  2. 更改States元素并添加缺少的字段或状态以匹配您的工作项状态。
  3. 然后export categories,所有类别均与您的工作流程匹配 要求。
  4. 更改后最后导入它们。

对于错误VS403291图标问题,您可以参考以下博客进行故障排除: