2014-02-05 79 views
2

在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子句。

回答

0

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

另一個(更復雜的)選項是創建一個您部署到TFS的ISubscriber插件。它可以檢測你的工作項目何時發生變化,並使用任何可以用C#編寫的邏輯更新字段。

1

我終於改變了任務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"