将 TFS 2013 升级到 DevOps 2018。现在 Boards、Backlogs 和 Sprints 不工作了。错误 TF400507
Upgraded TFS 2013 to DevOps 2018. Now the Boards, Backlogs, and Sprints are not working. Error TF400507
我们将 TFS 2013 服务器升级到 DevOps 2018,现在当我们转到 Boards、Backlogs 和 Sprint 时,我们收到以下错误:
TF400917: The current configuration is not valid for this feature. This feature cannot be used until you correct the configuration.
The following element contains an error: BugWorkItems/BugWorkItems. TF400507: Each work item type must support an initial state value that matches one of the states defined in: BugWorkItems. The following work item types have initial states that do not include any states defined in the bug state configuration: Bug.
我下载了 processconfig.xml 并查看了 BugWorkItems 部分,但它看起来是正确的。
<BugWorkItems category="Microsoft.BugCategory" pluralName="Bugs" singularName="Bug">
<States>
<State type="Proposed" value="New" />
<State type="InProgress" value="Active" />
<State type="Complete" value="Closed" />
<State type="Resolved" value="Resolved" />
</States>
</BugWorkItems>
我也下载了 Bug.xml,但我在文件中没有看到带有“初始状态”标签的任何内容。
所以我不确定“必须支持初始状态值”是什么意思...
这是工作流程部分。
<WORKFLOW>
<STATES>
<STATE value="Active">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Closed">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
<READONLY />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Code Review">
<FIELDS>
<FIELD refname="Custom.Developer">
<ALLOWEXISTINGVALUE />
<REQUIRED for="[global]\Developers" />
<REQUIRED not="[global]\ITProjectManagers" />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Acceptance Testing" />
<STATE value="Beta" />
<STATE value="On Hold" />
<STATE value="QA Testing" />
<STATE value="Ready For Beta" />
<STATE value="Ready For Prod" />
<STATE value="Requirement" />
</STATES>
<TRANSITIONS>
<TRANSITION from="Closed" to="Active">
<REASONS>
<DEFAULTREASON value="Regression" />
<REASON value="Reactivated" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="System.AssignedTo">
<COPY from="field" field="Microsoft.VSTS.Common.ResolvedBy" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Beta" to="Active">
<REASONS>
<DEFAULTREASON value="Returned to Development" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Closed">
<REASONS>
<DEFAULTREASON value="Happy Customer" />
<REASON value="Cancelled" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<SERVERDEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="On Hold" to="Active">
<REASONS>
<DEFAULTREASON value="Back in Business" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="On Hold" to="Beta" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="Back in Business" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Acceptance Testing" to="Closed" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="Happy Customer" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<SERVERDEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="QA Testing" to="Beta">
<REASONS>
<DEFAULTREASON value="PASSED QA TESTING" />
</REASONS>
</TRANSITION>
<TRANSITION from="QA Testing" to="Active">
<REASONS>
<DEFAULTREASON value="Back to Development" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Beta" to="Ready For Prod">
<REASONS>
<DEFAULTREASON value="Passed Beta - Ready to Deploy" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Ready For Beta">
<REASONS>
<DEFAULTREASON value="Development is done" />
</REASONS>
</TRANSITION>
<TRANSITION from="Ready For Beta" to="Active">
<REASONS>
<DEFAULTREASON value="Not Ready Yet" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Ready For Beta" to="QA Testing">
<REASONS>
<DEFAULTREASON value="Ready to be moved to Beta" />
</REASONS>
</TRANSITION>
<TRANSITION from="Beta" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting on Resources" />
<REASON value="Waiting on 3rd Party" />
<REASON value="Waiting on Development" />
<REASON value="Waiting on Requirements" />
</REASONS>
</TRANSITION>
<TRANSITION from="Ready For Prod" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting on Resources" />
<REASON value="Waiting on 3rd Party" />
<REASON value="Waiting on Development" />
<REASON value="Waiting on Requirements" />
</REASONS>
</TRANSITION>
<TRANSITION from="QA Testing" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting on Resources" />
<REASON value="Waiting on 3rd Party" />
<REASON value="Waiting on Development" />
<REASON value="Waiting on Requirements" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting on Requirements" />
<REASON value="Waiting on Development" />
<REASON value="Waiting on Resources" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="1" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Ready For Beta" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting for Resources" />
<REASON value="Waiting for Development" />
<REASON value="Waiting for Requirements" />
</REASONS>
</TRANSITION>
<TRANSITION from="" to="Requirement">
<REASONS>
<DEFAULTREASON value="New" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="System.AssignedTo">
<DEFAULT from="value" value="Unassigned User" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<DEFAULT from="value" value="25" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Scheduling.CompletedWork">
<DEFAULT from="value" value="0" />
</FIELD>
<FIELD refname="Custom.TestEstimate">
<DEFAULT from="value" value="15" />
</FIELD>
<FIELD refname="Custom.StepsReproduce">
<REQUIRED for="[global]\Project Collection Valid Users" />
</FIELD>
<FIELD refname="Custom.ServiceAgreement">
<DEFAULT from="value" value="Bug" />
</FIELD>
<FIELD refname="Microsoft.VSTS.TCM.ReproSteps">
<REQUIRED />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Requirement" to="Active">
<REASONS>
<DEFAULTREASON value="Active" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Active" to="Code Review">
<REASONS>
<DEFAULTREASON value="Code Complete" />
</REASONS>
</TRANSITION>
<TRANSITION from="Code Review" to="Ready For Beta">
<REASONS>
<DEFAULTREASON value="Passed Code Review" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Code Review" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
<REASON value="Complete" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Requirement" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
<REASON value="Complete" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Requirement">
<REASONS>
<DEFAULTREASON value="Need Requirements" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="1" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="On Hold" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="On Hold" to="Ready For Prod" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="Ready for Production" />
</REASONS>
</TRANSITION>
<TRANSITION from="On Hold" to="Ready For Beta">
<REASONS>
<DEFAULTREASON value="Ready to Deploy to BETA" />
</REASONS>
</TRANSITION>
<TRANSITION from="On Hold" to="QA Testing">
<REASONS>
<DEFAULTREASON value="Ready for QA Testing" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Beta" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<SERVERDEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Ready For Prod" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Ready For Prod" to="Acceptance Testing">
<REASONS>
<DEFAULTREASON value="Ready for Acceptance Testing" />
</REASONS>
</TRANSITION>
<TRANSITION from="Acceptance Testing" to="Ready For Prod" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="Back to QA" />
</REASONS>
</TRANSITION>
<TRANSITION from="Code Review" to="Active">
<REASONS>
<DEFAULTREASON value="Back to Developer" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Acceptance Testing" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="No Development Required" />
</REASONS>
</TRANSITION>
</TRANSITIONS>
</WORKFLOW>
Azure DevOps 中的每个进程有 4 个 meta-states。这些更高级别的状态必须映射到每个工作项类型中的工作流状态。
此时你的 BugWorkItems
有这 4 个映射:
<BugWorkItems category="Microsoft.BugCategory" pluralName="Bugs" singularName="Bug">
<States>
<State type="Proposed" value="New" />
<State type="InProgress" value="Active" />
<State type="Complete" value="Closed" />
<State type="Resolved" value="Resolved" />
</States>
</BugWorkItems>
在这 4 个中,状态 New
和 Resolved
在您的 Bug 的 WORKFLOW
定义中缺失。
您有几个选择...
- 您可以选择将
Proposed
映射到现有的工作流状态,例如Requirement
.
- 您可以添加
New
状态来执行 Bug 的工作流程和转换。
同样适用于Resolved
状态。
我们将 TFS 2013 服务器升级到 DevOps 2018,现在当我们转到 Boards、Backlogs 和 Sprint 时,我们收到以下错误:
TF400917: The current configuration is not valid for this feature. This feature cannot be used until you correct the configuration. The following element contains an error: BugWorkItems/BugWorkItems. TF400507: Each work item type must support an initial state value that matches one of the states defined in: BugWorkItems. The following work item types have initial states that do not include any states defined in the bug state configuration: Bug.
我下载了 processconfig.xml 并查看了 BugWorkItems 部分,但它看起来是正确的。
<BugWorkItems category="Microsoft.BugCategory" pluralName="Bugs" singularName="Bug">
<States>
<State type="Proposed" value="New" />
<State type="InProgress" value="Active" />
<State type="Complete" value="Closed" />
<State type="Resolved" value="Resolved" />
</States>
</BugWorkItems>
我也下载了 Bug.xml,但我在文件中没有看到带有“初始状态”标签的任何内容。
所以我不确定“必须支持初始状态值”是什么意思...
这是工作流程部分。
<WORKFLOW>
<STATES>
<STATE value="Active">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<EMPTY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<ALLOWEXISTINGVALUE />
<EMPTY />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Closed">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
<READONLY />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Code Review">
<FIELDS>
<FIELD refname="Custom.Developer">
<ALLOWEXISTINGVALUE />
<REQUIRED for="[global]\Developers" />
<REQUIRED not="[global]\ITProjectManagers" />
</FIELD>
</FIELDS>
</STATE>
<STATE value="Acceptance Testing" />
<STATE value="Beta" />
<STATE value="On Hold" />
<STATE value="QA Testing" />
<STATE value="Ready For Beta" />
<STATE value="Ready For Prod" />
<STATE value="Requirement" />
</STATES>
<TRANSITIONS>
<TRANSITION from="Closed" to="Active">
<REASONS>
<DEFAULTREASON value="Regression" />
<REASON value="Reactivated" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="System.AssignedTo">
<COPY from="field" field="Microsoft.VSTS.Common.ResolvedBy" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Beta" to="Active">
<REASONS>
<DEFAULTREASON value="Returned to Development" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Closed">
<REASONS>
<DEFAULTREASON value="Happy Customer" />
<REASON value="Cancelled" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<SERVERDEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="On Hold" to="Active">
<REASONS>
<DEFAULTREASON value="Back in Business" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="On Hold" to="Beta" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="Back in Business" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Acceptance Testing" to="Closed" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="Happy Customer" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<SERVERDEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="QA Testing" to="Beta">
<REASONS>
<DEFAULTREASON value="PASSED QA TESTING" />
</REASONS>
</TRANSITION>
<TRANSITION from="QA Testing" to="Active">
<REASONS>
<DEFAULTREASON value="Back to Development" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Beta" to="Ready For Prod">
<REASONS>
<DEFAULTREASON value="Passed Beta - Ready to Deploy" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Ready For Beta">
<REASONS>
<DEFAULTREASON value="Development is done" />
</REASONS>
</TRANSITION>
<TRANSITION from="Ready For Beta" to="Active">
<REASONS>
<DEFAULTREASON value="Not Ready Yet" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Ready For Beta" to="QA Testing">
<REASONS>
<DEFAULTREASON value="Ready to be moved to Beta" />
</REASONS>
</TRANSITION>
<TRANSITION from="Beta" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting on Resources" />
<REASON value="Waiting on 3rd Party" />
<REASON value="Waiting on Development" />
<REASON value="Waiting on Requirements" />
</REASONS>
</TRANSITION>
<TRANSITION from="Ready For Prod" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting on Resources" />
<REASON value="Waiting on 3rd Party" />
<REASON value="Waiting on Development" />
<REASON value="Waiting on Requirements" />
</REASONS>
</TRANSITION>
<TRANSITION from="QA Testing" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting on Resources" />
<REASON value="Waiting on 3rd Party" />
<REASON value="Waiting on Development" />
<REASON value="Waiting on Requirements" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting on Requirements" />
<REASON value="Waiting on Development" />
<REASON value="Waiting on Resources" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="1" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Ready For Beta" to="On Hold">
<REASONS>
<DEFAULTREASON value="Waiting for Resources" />
<REASON value="Waiting for Development" />
<REASON value="Waiting for Requirements" />
</REASONS>
</TRANSITION>
<TRANSITION from="" to="Requirement">
<REASONS>
<DEFAULTREASON value="New" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
<ALLOWEXISTINGVALUE />
<COPY from="currentuser" />
<VALIDUSER />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="System.AssignedTo">
<DEFAULT from="value" value="Unassigned User" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<DEFAULT from="value" value="25" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Scheduling.CompletedWork">
<DEFAULT from="value" value="0" />
</FIELD>
<FIELD refname="Custom.TestEstimate">
<DEFAULT from="value" value="15" />
</FIELD>
<FIELD refname="Custom.StepsReproduce">
<REQUIRED for="[global]\Project Collection Valid Users" />
</FIELD>
<FIELD refname="Custom.ServiceAgreement">
<DEFAULT from="value" value="Bug" />
</FIELD>
<FIELD refname="Microsoft.VSTS.TCM.ReproSteps">
<REQUIRED />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Requirement" to="Active">
<REASONS>
<DEFAULTREASON value="Active" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Active" to="Code Review">
<REASONS>
<DEFAULTREASON value="Code Complete" />
</REASONS>
</TRANSITION>
<TRANSITION from="Code Review" to="Ready For Beta">
<REASONS>
<DEFAULTREASON value="Passed Code Review" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Code Review" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
<REASON value="Complete" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Requirement" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
<REASON value="Complete" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Requirement">
<REASONS>
<DEFAULTREASON value="Need Requirements" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="1" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="On Hold" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="On Hold" to="Ready For Prod" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="Ready for Production" />
</REASONS>
</TRANSITION>
<TRANSITION from="On Hold" to="Ready For Beta">
<REASONS>
<DEFAULTREASON value="Ready to Deploy to BETA" />
</REASONS>
</TRANSITION>
<TRANSITION from="On Hold" to="QA Testing">
<REASONS>
<DEFAULTREASON value="Ready for QA Testing" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.StackRank">
<COPY from="value" value="0" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Beta" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ClosedBy">
<SERVERDEFAULT from="currentuser" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Ready For Prod" to="Closed">
<REASONS>
<DEFAULTREASON value="Cancelled" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ClosedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</TRANSITION>
<TRANSITION from="Ready For Prod" to="Acceptance Testing">
<REASONS>
<DEFAULTREASON value="Ready for Acceptance Testing" />
</REASONS>
</TRANSITION>
<TRANSITION from="Acceptance Testing" to="Ready For Prod" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="Back to QA" />
</REASONS>
</TRANSITION>
<TRANSITION from="Code Review" to="Active">
<REASONS>
<DEFAULTREASON value="Back to Developer" />
</REASONS>
</TRANSITION>
<TRANSITION from="Active" to="Acceptance Testing" for="[global]\ITProjectManagers">
<REASONS>
<DEFAULTREASON value="No Development Required" />
</REASONS>
</TRANSITION>
</TRANSITIONS>
</WORKFLOW>
Azure DevOps 中的每个进程有 4 个 meta-states。这些更高级别的状态必须映射到每个工作项类型中的工作流状态。
此时你的 BugWorkItems
有这 4 个映射:
<BugWorkItems category="Microsoft.BugCategory" pluralName="Bugs" singularName="Bug">
<States>
<State type="Proposed" value="New" />
<State type="InProgress" value="Active" />
<State type="Complete" value="Closed" />
<State type="Resolved" value="Resolved" />
</States>
</BugWorkItems>
在这 4 个中,状态 New
和 Resolved
在您的 Bug 的 WORKFLOW
定义中缺失。
您有几个选择...
- 您可以选择将
Proposed
映射到现有的工作流状态,例如Requirement
. - 您可以添加
New
状态来执行 Bug 的工作流程和转换。
同样适用于Resolved
状态。