gpt4 book ai didi

tfs - 如何禁止基于另一个字段的值在 TFS 要求工作项中将状态从建议更改为事件?

转载 作者:行者123 更新时间:2023-12-04 02:00:54 24 4
gpt4 key购买 nike

我已将部门批准添加到标准 CMMI 模板要求工作项中。我想限制 System.State 字段,使其只能在所有部门批准都设置为"is"时从建议更改为事件
Requirement Work-Item with Approvals

我已尝试对 Requirement.xml 进行以下更改

<FIELD name="State" refname="System.State" type="String" reportable="dimension">
<WHEN field="Approval.Marketing" value="No">
<READONLY />
</WHEN>
<WHEN field="Approval.Quality" value="No">
<READONLY />
</WHEN>
<WHEN field="Approval.RD" value="No">
<READONLY />
</WHEN>
<WHEN field="Approval.System" value="No">
<READONLY />
</WHEN>
<WHEN field="Approval.ProgManagement" value="No">
<READONLY />
</WHEN>
</FIELD>

如果任何批准字段设置为“否”,这将导致状态字段变为只读,这正是我想要的。然而,它在创建新需求时会导致问题,因为批准最初都是“否”,因此由于 READONLY 条件,状态的初始“建议”默认值不会设置。我想要做的是将逻辑添加到上面的 WHEN 条件,以 AND 条件 System.State="Proposed"。我尝试嵌套 WHEN 子句,例如

<FIELD name="State" refname="System.State" type="String" reportable="dimension">
<WHEN field="System.State" value="Proposed">
<WHEN field="Approval.Marketing" value="No">
<READONLY />
</WHEN>
. . .
</WHEN>
</FIELD>

但这会在导入时出错,即 WHEN 子句不能包含 WHEN。当任何批准字段设置为“否”

时,如何禁止状态从 建议更改为 有效

最佳答案

我花了一些时间来弄清楚我是否可以想出一个可行的变体,因为您不能像其他字段那样为 System.State 设置默认值。在我想出一些可行的方法之前,我可能经历了 50 次左右的变化。当然,它并不理想,但它会在初始创建后解决您的问题。

您可以在每个过渡状态中添加您的 when 子句。在我的例子中,我使用了优先级字段并做了类似的事情:

<State value="Proposed">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
...
<FIELD refname="System.State">
<WHEN field="Microsoft.VSTS.Common.Priority" value="2">
<READONLY />
</WHEN>
</FIELD>
</FIELDS>
</State>

当然,您必须将您的条款添加到其他状态:事件、关闭和已解决。

完成后,创建一个新需求。创建新需求时,您有两个选择:

您可以将所有选项设置为是,将状态设置为建议并保存。然后返回并将它们设置为否并保存。

或者

将您的自定义字段全部更改为默认为是。创建需求并保存。编辑它,将所有值切换为否,保存。

无论您选择哪种方式,一旦这个初始障碍随着需求创建而结束。它会按照您的意愿行事。换句话说,如果任何值不是,那么它将使状态变为只读。

考虑到 System.State 字段的限制,这是我能想到的最好的办法。

关于tfs - 如何禁止基于另一个字段的值在 TFS 要求工作项中将状态从建议更改为事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6528496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com