TFS2012任务工作项定义 - 每当“剩余工作”为空时,用'原始估计'更新'剩余工作'

问题描述:

在vs2013:工具>工艺编辑器>工作项类型>从服务器打开WIT。TFS2012任务工作项定义 - 每当“剩余工作”为空时,用'原始估计'更新'剩余工作'

通过编辑任务工作项的规则,我已经出来了下列与XML项目定义:

<FieldDefinition name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure"> 
    <WHENCHANGED field="Microsoft.VSTS.Scheduling.OriginalEstimate"> 
    <COPY for="[global]\Project Collection Valid Users" from="field" field="Microsoft.VSTS.Scheduling.OriginalEstimate" /> 
    </WHENCHANGED> 
</FieldDefinition> 

我所试图实现的是某事更是这样的:

<FieldDefinition name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure"> 
    <WHENCHANGED field="Microsoft.VSTS.Scheduling.OriginalEstimate"> 
    <WHEN field="Microsoft.VSTS.Scheduling.RemainingWork" value=""> 
     <COPY for="[global]\Project Collection Valid Users" from="field" field="Microsoft.VSTS.Scheduling.OriginalEstimate" /> 
    </WHEN> 
    </WHENCHANGED> 
</FieldDefinition> 

的问题是我现在没有为我工作(每当我改变原始估计,剩余工作没有被更新),我无法弄清楚如何坚​​持WHEN子句。

我不能想出一个办法,只要WITD做你想做的事。

另一个(更复杂的)选项是创建一个您部署到TFS的ISubscriber插件。它可以检测你的工作项目何时发生变化,并使用任何可以用C#编写的逻辑更新字段。

我终于改变了任务TFS字段定义为我的项目,通过witadmin导出/导入:

在一个开发人员命令提示符下VS2013

> witadmin exportwitd /collection:http://myTFSserver:8080/tfs/DefaultCollection /p:myTFSProject /n:Task /f:"c:\tfs\Task.xml" 

更换Task.xml

的相关章节
<FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum"> 
    <WHENCHANGED field="Microsoft.VSTS.Scheduling.OriginalEstimate"> 
     <COPY for="[global]\Project Collection Valid Users" from="field" field="Microsoft.VSTS.Scheduling.OriginalEstimate" /> 
    </WHEN> 
    </FIELD> 

<FIELD name="Remaining Work" refname="Microsoft.VSTS.Scheduling.RemainingWork" type="Double" reportable="measure" formula="sum"> 
    <WHEN field="Microsoft.VSTS.Scheduling.RemainingWork" value=""> 
     <COPY from="field" field="Microsoft.VSTS.Scheduling.OriginalEstimate" /> 
    </WHEN> 
    </FIELD> 

然后传达变化

> witadmin importwitd /collection:http://myTFSserver:8080/tfs/DefaultCollection /p:myTFSProject /f:"c:\tfs\Task.xml"