TFS中的错误的自定义工作流程

时间:2013-01-18 18:45:51

标签: tfs2012

我在tfs 2012中更新了模板中的错误,以反映我们的错误跟踪的自定义工作流程。一切正常,直到达到设置关闭日期字段的最终转换。发生此转换时,我收到错误:TF237165:由于服务器上的验证错误,Team Foundation无法更新工作项。这可能是因为工作项类型已被修改或...

注释掉字段分配代码可以使过程完成而不会出错。在比较我改变的工作流程和开箱即用的工作流程时,我没有看到任何明显的东西。

以下是自定义工作流程的xml:

<WORKFLOW>
  <STATES>
    <STATE value="New">
      <FIELDS>
        <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
          <EMPTY />
        </FIELD>
      </FIELDS>
    </STATE>
    <STATE value="Approved">
      <FIELDS>
        <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
          <EMPTY />
        </FIELD>
      </FIELDS>
    </STATE>
    <STATE value="Fixed in Dev">
      <FIELDS>
        <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
          <EMPTY />
        </FIELD>
      </FIELDS>
    </STATE>

    <STATE value="Deployed">
      <FIELDS>
        <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
          <EMPTY />
        </FIELD>
      </FIELDS>
    </STATE>

    <STATE value="Verified">
      <FIELDS>
        <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
          <EMPTY />
        </FIELD>
      </FIELDS>
    </STATE>

    <STATE value="Resolved">
      <FIELDS>
        <FIELD refname="Microsoft.VSTS.Scheduling.Effort">
          <READONLY />
        </FIELD>
      </FIELDS>
    </STATE>                
  </STATES>


  <TRANSITIONS>
    <TRANSITION from="" to="New">
      <REASONS>
        <DEFAULTREASON value="New defect reported" />
              <REASON value="Build Failure" />
      </REASONS>         
    </TRANSITION>
    <TRANSITION from="New" to="Fixed in Dev">
      <REASONS>
        <DEFAULTREASON value="Bug fixed" />
      </REASONS>
    </TRANSITION>
    <TRANSITION from="Fixed in Dev" to="Deployed">
      <REASONS>
        <DEFAULTREASON value="Fix deployed to test" />
      </REASONS>
    </TRANSITION>
    <TRANSITION from="Deployed" to="Verified">
      <REASONS>
        <DEFAULTREASON value="Fix is verified in test" />
      </REASONS>          
    </TRANSITION>
    <TRANSITION from="Verified" to="Resolved">
      <REASONS>
        <DEFAULTREASON value="Bug resolved" />
      </REASONS>
      <FIELDS>
        <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
          <SERVERDEFAULT from="clock" />
        </FIELD>
      </FIELDS>
    </TRANSITION>        
  </TRANSITIONS>
</WORKFLOW>

1 个答案:

答案 0 :(得分:1)

我猜想<EMPTY>位于:

<STATE value="Verified">
  <FIELDS>
    <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
      <EMPTY />
    </FIELD>
  </FIELDS>
</STATE>

与作业相冲突。

尝试将<EMPTY>移动到转场而不是状态。这样当某人移动到某个状态时,该字段仍将被清空,您将得到相同的结果,只是一个不同的实现。