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"