TF26049 导入工作项类型描述时出错
TF26049 error on importing work item type description
目前我正在尝试使用 Visual Studio 进程编辑器在 TFS 2013 中编辑工作项类型描述。我只从服务器导出 WIT,即使我没有做任何更改,当我尝试导入 WIT 时,弹出以下错误消息。
TF26049: The field 'Responsible' has rules REQUIRED and EMPTY that are inconsistent.
我查看了 xml 中的状态、工作流和转换,以检查是否同时使用了 REQUIRED 和 EMPTY 规则,但似乎无法找到导致问题的原因。
这里是 Bug.xml 我正在尝试导入,非常感谢任何帮助:
<!-- Removed some fields due to being too long-->
<FIELD name="Assigned To" refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
</FIELD>
<FIELD name="Responsible" refname="Microsoft.VSTS.CMMI.Responsible" type="String" reportable="dimension">
<VALIDUSER />
</FIELD>
</FIELDS>
<WORKFLOW>
<STATES>
<STATE value="Active">
<FIELDS>
<FIELD refname="System.AssignedTo">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="VpBug.AnalysisOutcome">
<WHEN field="VpBug.AnalysisPerformed" value="Yes">
<REQUIRED />
</WHEN>
</FIELD>
</FIELDS>
</STATE>
<STATE value="Resolved">
<FIELDS>
<FIELD refname="System.AssignedTo">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Closed">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<READONLY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<READONLY />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Proposed">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<EMPTY />
</FIELD>
<FIELD refname="VRP.Environment">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<READONLY />
<DEFAULT from="field" field="Microsoft.VSTS.CMMI.Responsible" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Rejected">
<FIELDS>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<READONLY />
<DEFAULT from="field" field="Microsoft.VSTS.CMMI.RootCause" />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<READONLY />
<DEFAULT from="field" field="Microsoft.VSTS.CMMI.Responsible" />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Pending Deployment">
<FIELDS>
<FIELD refname="System.AssignedTo">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<READONLY />
<WHEN field="VpBug.AnalysisOutcome" value="Software Defect">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</WHEN>
<DEFAULT from="field" field="Microsoft.VSTS.CMMI.RootCause" />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<EMPTY />
<WHEN field="VpBug.AnalysisOutcome" value="Software Defect">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
<REQUIRED />
</WHEN>
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
</FIELDS>
</STATE>
</STATES>
<TRANSITIONS>
<TRANSITION from="Proposed" to="Active">
<REASONS>
<DEFAULTREASON value="Approved" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="VpBug.AnalysisOutcome">
<WHEN field="VpBug.AnalysisPerformed" value="Yes">
<REQUIRED />
</WHEN>
</FIELD>
</FIELDS>
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.StartWork" />
</ACTIONS>
</TRANSITION>
<TRANSITION from="Active" to="Resolved">
<REASONS>
<DEFAULTREASON value="Fixed" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Closed" to="Resolved">
<REASONS>
<DEFAULTREASON value="Closed by error" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Pending Deployment" to="Resolved">
<REASONS>
<DEFAULTREASON value="Fixed" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<REQUIRED />
<WHEN field="VpBug.AnalysisOutcome" value="Software Defect">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</WHEN>
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<REQUIRED />
<WHEN field="VpBug.AnalysisOutcome" value="Software Defect">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
<REQUIRED />
</WHEN>
</FIELD>
</FIELDS>
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.Checkin" />
</ACTIONS>
</TRANSITION>
<TRANSITION from="Resolved" to="Closed">
<REASONS>
<DEFAULTREASON value="Verified" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Rejected" to="Closed">
<REASONS>
<DEFAULTREASON value="Not a Defect">
<FIELDS>
<FIELD refname="System.Reason">
<READONLY />
</FIELD>
</FIELDS>
</DEFAULTREASON>
<REASON value="As Designed" />
<REASON value="Deferred" />
<REASON value="Duplicate" />
<REASON value="Obsolete" />
<REASON value="Overtaken by events" />
<REASON value="Unable to Reproduce" />
<REASON value="Coppied to backlog" />
<REASON value="Known Issue" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<DEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<DEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="" to="Proposed">
<REASONS>
<DEFAULTREASON value="New" />
</REASONS>
<FIELDS>
<FIELD refname="System.AssignedTo">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.TCM.ReproSteps">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Active" to="Proposed">
<REASONS>
<DEFAULTREASON value="Unable to Reproduce" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<EMPTY />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Resolved" to="Proposed">
<REASONS>
<DEFAULTREASON value="Not fixed" />
<REASON value="Test Failed" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
</FIELDS>
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.StartWork" />
</ACTIONS>
</TRANSITION>
<TRANSITION from="Closed" to="Proposed">
<REASONS>
<DEFAULTREASON value="Reoccurred" />
<REASON value="Reopened by Client" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
</FIELD>
<FIELD refname="System.AssignedTo">
<DEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Rejected" to="Proposed">
<REASONS>
<DEFAULTREASON value="Its a Bug" />
</REASONS>
</TRANSITION>
<TRANSITION from="Proposed" to="Rejected">
<REASONS>
<DEFAULTREASON value="Not a Defect" />
<REASON value="As Designed" />
<REASON value="Deferred" />
<REASON value="Duplicate" />
<REASON value="Obsolete" />
<REASON value="Overtaken by events" />
<REASON value="Unable to Reproduce" />
<REASON value="Coppied to backlog" />
<REASON value="Known Issue" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Pending Deployment">
<REASONS>
<DEFAULTREASON value="Pending Deployment" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
</TRANSITIONS>
</WORKFLOW>
编辑: 更改 'Pending Deployment' 状态规则解决了问题
看看状态转换规则。如果将它们与 WHEN
结合使用,就会出现一些相互冲突的规则
目前我正在尝试使用 Visual Studio 进程编辑器在 TFS 2013 中编辑工作项类型描述。我只从服务器导出 WIT,即使我没有做任何更改,当我尝试导入 WIT 时,弹出以下错误消息。
TF26049: The field 'Responsible' has rules REQUIRED and EMPTY that are inconsistent.
我查看了 xml 中的状态、工作流和转换,以检查是否同时使用了 REQUIRED 和 EMPTY 规则,但似乎无法找到导致问题的原因。
这里是 Bug.xml 我正在尝试导入,非常感谢任何帮助:
<!-- Removed some fields due to being too long-->
<FIELD name="Assigned To" refname="System.AssignedTo" type="String" syncnamechanges="true" reportable="dimension">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
</FIELD>
<FIELD name="Responsible" refname="Microsoft.VSTS.CMMI.Responsible" type="String" reportable="dimension">
<VALIDUSER />
</FIELD>
</FIELDS>
<WORKFLOW>
<STATES>
<STATE value="Active">
<FIELDS>
<FIELD refname="System.AssignedTo">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="VpBug.AnalysisOutcome">
<WHEN field="VpBug.AnalysisPerformed" value="Yes">
<REQUIRED />
</WHEN>
</FIELD>
</FIELDS>
</STATE>
<STATE value="Resolved">
<FIELDS>
<FIELD refname="System.AssignedTo">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Closed">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<READONLY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<READONLY />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Proposed">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<EMPTY />
</FIELD>
<FIELD refname="VRP.Environment">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<READONLY />
<DEFAULT from="field" field="Microsoft.VSTS.CMMI.Responsible" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Rejected">
<FIELDS>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<READONLY />
<DEFAULT from="field" field="Microsoft.VSTS.CMMI.RootCause" />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<READONLY />
<DEFAULT from="field" field="Microsoft.VSTS.CMMI.Responsible" />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Pending Deployment">
<FIELDS>
<FIELD refname="System.AssignedTo">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<READONLY />
<WHEN field="VpBug.AnalysisOutcome" value="Software Defect">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</WHEN>
<DEFAULT from="field" field="Microsoft.VSTS.CMMI.RootCause" />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<EMPTY />
<WHEN field="VpBug.AnalysisOutcome" value="Software Defect">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
<REQUIRED />
</WHEN>
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ReportedBy">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
</FIELDS>
</STATE>
</STATES>
<TRANSITIONS>
<TRANSITION from="Proposed" to="Active">
<REASONS>
<DEFAULTREASON value="Approved" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="VpBug.AnalysisOutcome">
<WHEN field="VpBug.AnalysisPerformed" value="Yes">
<REQUIRED />
</WHEN>
</FIELD>
</FIELDS>
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.StartWork" />
</ACTIONS>
</TRANSITION>
<TRANSITION from="Active" to="Resolved">
<REASONS>
<DEFAULTREASON value="Fixed" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Closed" to="Resolved">
<REASONS>
<DEFAULTREASON value="Closed by error" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Pending Deployment" to="Resolved">
<REASONS>
<DEFAULTREASON value="Fixed" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<REQUIRED />
<WHEN field="VpBug.AnalysisOutcome" value="Software Defect">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</WHEN>
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<REQUIRED />
<WHEN field="VpBug.AnalysisOutcome" value="Software Defect">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
<REQUIRED />
</WHEN>
</FIELD>
</FIELDS>
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.Checkin" />
</ACTIONS>
</TRANSITION>
<TRANSITION from="Resolved" to="Closed">
<REASONS>
<DEFAULTREASON value="Verified" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Rejected" to="Closed">
<REASONS>
<DEFAULTREASON value="Not a Defect">
<FIELDS>
<FIELD refname="System.Reason">
<READONLY />
</FIELD>
</FIELDS>
</DEFAULTREASON>
<REASON value="As Designed" />
<REASON value="Deferred" />
<REASON value="Duplicate" />
<REASON value="Obsolete" />
<REASON value="Overtaken by events" />
<REASON value="Unable to Reproduce" />
<REASON value="Coppied to backlog" />
<REASON value="Known Issue" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<DEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<DEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="" to="Proposed">
<REASONS>
<DEFAULTREASON value="New" />
</REASONS>
<FIELDS>
<FIELD refname="System.AssignedTo">
<ALLOWEXISTINGVALUE />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.TCM.ReproSteps">
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Active" to="Proposed">
<REASONS>
<DEFAULTREASON value="Unable to Reproduce" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.CMMI.RootCause">
<EMPTY />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Resolved" to="Proposed">
<REASONS>
<DEFAULTREASON value="Not fixed" />
<REASON value="Test Failed" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
</FIELDS>
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.StartWork" />
</ACTIONS>
</TRANSITION>
<TRANSITION from="Closed" to="Proposed">
<REASONS>
<DEFAULTREASON value="Reoccurred" />
<REASON value="Reopened by Client" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.CMMI.Responsible">
<ALLOWEXISTINGVALUE />
<VALIDUSER />
</FIELD>
<FIELD refname="System.AssignedTo">
<DEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Rejected" to="Proposed">
<REASONS>
<DEFAULTREASON value="Its a Bug" />
</REASONS>
</TRANSITION>
<TRANSITION from="Proposed" to="Rejected">
<REASONS>
<DEFAULTREASON value="Not a Defect" />
<REASON value="As Designed" />
<REASON value="Deferred" />
<REASON value="Duplicate" />
<REASON value="Obsolete" />
<REASON value="Overtaken by events" />
<REASON value="Unable to Reproduce" />
<REASON value="Coppied to backlog" />
<REASON value="Known Issue" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Pending Deployment">
<REASONS>
<DEFAULTREASON value="Pending Deployment" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
</TRANSITIONS>
</WORKFLOW>
编辑: 更改 'Pending Deployment' 状态规则解决了问题
看看状态转换规则。如果将它们与 WHEN
结合使用,就会出现一些相互冲突的规则