如何根据另一个字段的值禁止 TFS 要求工作项中的状态从“建议”更改为“活动”?

2024-04-08

I've added department approvals to the standard CMMI-Template Requirement work-item. I'd like to limit the System.State field such that it can only be changed from Proposed to Active when all department approvals are set to "Yes".
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。我怎样才能禁止状态改变Proposed to Active当任何批准字段设置为“否”时


我花了一些时间弄清楚是否可以想出一个可行的变体,因为您无法像其他字段那样为 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>

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

完成此操作后,创建一个新的需求。当您创建新需求时,您有两个选择:

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

Or

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

无论您选择哪种方式,一旦随着需求创建克服了最初的障碍。它会按照您想要的方式行事。换句话说,如果任何值是 no,那么它将使状态变为只读。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据另一个字段的值禁止 TFS 要求工作项中的状态从“建议”更改为“活动”? 的相关文章

  • 使用 TFS 命令行部署 SSIS 项目

    如何从 TFS 2015 部署 SSIS 项目 对于常规数据库项目来说 sqlpackage exe publish与发布配置文件 将 SSIS 项目模型自动部署到服务器中的命令行参数是什么 我们使用的是 SQL Server 2016 E
  • 如何从多个类扩展状态

    请注意 了解集换式卡牌游戏 万智牌 聚会 将是一个优势 抱歉 我不知道如何更容易地表达它 我使用时遇到了一个问题Java 我将描述如下 我有一个名为 Card 的基本类 具有以下所有属性 public class Card String N
  • TFS 合并:无法丢弃变更集

    我们有一个变更集 开发人员已签入对源分支和目标分支的更改 许多更改包括两个分支中的重命名 从源分支到目标分支的变更集合并进展顺利 但变更集仍保留在要合并的变更集列表中 当我现在尝试再次合并更改集时 它显示 没有要合并的更改 并且变更集保留在
  • C++ 支持编译时计数器吗?

    出于自省的目的 有时我想自动将序列号分配给类型或类似的东西 不幸的是 模板元编程本质上是一种函数式语言 因此缺乏实现此类计数器的全局变量或可修改状态 或者确实如此 根据请求的示例代码 include
  • Flutter:webview_flutter 更新同一 webview 小部件中的 url

    嘿 我正在尝试创建一个屏幕 显示带有底部应用栏的网络视图 因此 您加载网络视图 当点击底部应用栏中的某个项目时 其他网站应该加载到同一个网络视图中 除了我最初解析的网站之外 我不知道如何打开另一个网站 我尝试使用 setState 更新网址
  • 出现错误:指定的文件扩展名“.webtest”不是有效的测试扩展名

    尝试跑步MSTEST exe我通过安装的Agents For Visual Studio 2017下载 https www visualstudio com downloads https www visualstudio com down
  • 无法找到类型 [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]

    我正在尝试编写一个脚本来使用 powershell 连接到 TFS 但是我陷入了实际连接的部分 credentialProvider new object Microsoft TeamFoundation Client UICredenti
  • 比使用流保存增强随机生成器状态更快的替代方案

    我需要能够保存 加载这个增强随机生成器的状态 boost variate generator
  • Redux 不就是美化了全局状态吗?

    所以我一周前开始学习 React 我不可避免地遇到了状态问题以及组件应该如何与应用程序的其余部分进行通信 我四处搜寻了一下 Redux 似乎是这个月的热门 我通读了所有文档 我认为这实际上是一个相当革命性的想法 以下是我的想法 人们普遍认为
  • Visual Studio 中的解决方案文件夹是什么?

    我有一个 Visual Studio 2008 解决方案 我想在解决方案中包含一个真实的文件夹 但不是在项目级别 而是在解决方案级别 我注意到您可以右键单击该解决方案并添加一个解决方案文件夹 但它显示为一些白色文件夹 我怀疑它到底应该是什么
  • 重置流的状态

    我有一个问题与 stackoverflow 上的这个问题有点相似std cin clear 无法将输入流恢复到良好状态 https stackoverflow com questions 4960399 stdcin clear fails
  • 如何更改 MSBuild 在 Team Foundation Build 下使用的构建目录?

    尝试使用 Team Foundation Build 构建我的应用程序时出现以下错误 C WINDOWS Microsoft NET Framework v3 5 Microsoft Common targets 1682 9 错误 MSB
  • 仅对 Visual Studio 团队服务强制执行拉取请求

    有一种方法可以强制某些人只能通过拉取请求为一个分支做出贡献 我希望他们能够接受拉取请求 但不能直接推送更改 这将很有用 因为我们有一些分支策略 对于接受拉取请求的人来说 例如构建必须通过 问题是 如果我们允许某人接受拉取请求 我们将允许他们
  • TFS Pending Changes 能否像 SourceGear Vault 一样显示真正更改的文件?

    我一直在使用 SourceGearVault 进行一些个人项目 并使用 Team Foundation Server 进行工作项目 TFS 缺少的一件事是 Vault 在其签入对话框窗口中具有的一项简单功能 在 Vault 客户端中 您可以
  • 将源代码从 git 迁移到 TFVC

    我们使用的是Visual Studio Online 我们使用TFS的git支持 我们现在想停止使用 git 并使用 TFVC 将源代码迁移到 TFVC 的最佳解决方案是什么 假设您正在 VSO 中创建另一个项目并移动源代码 按照目前的情况
  • TFS:在服务器重新启动或 Windows 更新安装时触发构建的最佳方式

    简而言之 要求是验证我们最新发布的软件是否可以在应用最新的 Windows 更新和 或其他补丁后构建并安装 因此 构建服务器虚拟机将专门为此目的进行配置 并且构建仅需要在更新后运行 由于此类更新通常会重新启动 因此我正在考虑触发构建和部署的
  • 在 Visual Studio 中查看 TFS 服务器端更改,无需获取最新版本

    在 Visual Studio 2010 中 我希望能够查看其他团队成员已签入的更改 而无需实际执行获取最新 这将覆盖本地文件 有没有办法对批量文件执行此操作 而不是选择每个文件并将其与服务器版本进行比较 我使用 查看历史记录 窗口 然后选
  • 查看作为 TFS 中工作项的一部分更改的所有文件的列表

    如果我针对工作项签入代码 则每次签入都会创建一个变更集 我可以查看工作项的链接选项卡 然后查看每个变更集以查看已更改的文件 然而 随着时间的推移 工作项可能最终会产生许多变更集 并且查找所有已更改的文件可能是一个非常耗时且痛苦的过程 有没有
  • 在 Electron/angularjs 应用程序中访问 TFS 和 Visualstudio 在线 REST Api

    使用 angularjs 在 Electron 中在线集成 TFS 和 Visual Studio 的最佳方法是什么 用户可以提供服务器的用户名 密码和 URL 我想要获取项目 任务 在状态之间移动任务 创建新项目等 我有一个使用 Angu
  • 从TFS迁移到GIT,共享项目到nuget

    我所在的软件团队由 4 5 名开发人员组成 他们从事一个 TFS 项目 我们正在考虑将整个代码库移至 GIT 该代码库由约 50 个 Visual Studio 2013 解决方案组成 分为约 300 个项目 引用项目中另一个程序集的首选过

随机推荐

  • Pandas DataFrame:使用 Lambda 函数将 WKT 转换为新列中的 GeoJSON

    我有一些这种格式的数据 Dep Dest geom EDDF KIAD LINESTRING 3 961389 43 583333 3 968056 43 580 其中包含飞行轨迹 geom 列包含 WKT 格式的坐标 可以通过库转换它们g
  • Coq案例分析和函数返回子集类型的重写

    我正在做一个关于使用子集类型编写经过认证的函数的简单练习 想法是先写一个前驱函数 pred forall n n nat n gt 0 m nat S m n 1 然后使用这个定义给定一个函数 pred2 forall n n nat n
  • 为什么 Java ThreadLocal 变量应该是静态的

    我在这里阅读 Threadlocal 的 JavaDoc https docs oracle com javase 1 5 0 docs api java lang ThreadLocal html https docs oracle co
  • 尾递归是否一定需要累加器?

    例如 由于以下函数没有累加器 它仍然是尾递归吗 belong Ord a gt a gt a gt Bool belong a False belong a h t a h True otherwise belong a t 函数中的所有计
  • 使用 Alamofire 数据填充表单元格

    在一天的大部分时间里 我一直在尝试使用 Alamofire 并使用它来收集一些基于 API 的数据来填充表 我已经成功地将数据获取到我的 iOS 应用程序中 我可以 println 来查看它 但我一生都无法弄清楚使用我的数据填充正确数量的表
  • 将 3D 模型转换为 SceneJS JSON,包括纹理

    Motive我正在尝试使用 WebGL 创建一个小型演示应用程序 我选择使用 SceneJS 因为它看起来是一个简单的框架 并且足以满足此目的 我已经下载了几个 blend 模型 等 并使用 Blender 将它们导出为 Collada d
  • 为什么当目标状态或其父级通过 Promise 解析时 $state.go 不起作用

    我尝试使用解析加载父状态上的一些数据 并在应用程序运行时将用户重定向到默认状态 如下所示 app config stateProvider urlRouterProvider function stateProvider urlRouter
  • 如何在 JavaScript 中反转 JSON?

    task test created Date 1291676980607 task One More Big Test created Date 1291677246057 task New Task created Date 129174
  • 混合命名和未命名函数参数

    我有这个功能来验证 JWT 令牌 不是中间件 它说 package main import net http log fmt github com dgrijalva jwt go func ValidateToken w http Res
  • 如何选中反应测试库中的复选框?

    我似乎找不到太多 任何关于我想要实现的这个非常简单的事情的文档 我有一个下拉菜单display none 当我单击复选框时 它会变成display block我想要断言的是 当我单击复选框时 它会显示下拉列表 expect getByLab
  • SQL Server 2016 枢轴

    我有一个问题sql MS SQL 2016 和pivot功能 首先让我解释一下数据结构 示例tbl Preise 有多种价格 Preis 对于每个区域 Gebiet von Gebiet bis 在继电器 StaffelNr 所有连接到相同
  • Android - 检测长按结束

    我正在开发用户需要长时间按住按钮的应用程序 如何检测用户完成按下或移动触摸位置的时刻 Thanks 我认为最好的选择是对该按钮使用 onLongClickListener 和 onTouchListener 的组合 您需要在触摸侦听器上捕获
  • Rails 4 模型子文件夹

    我在 app models request book 文件夹中创建了模型 但 Book Request Status table name 返回表名称 statuses book request statuses 是正确的表名称 如何获得正
  • 随着扩展方法的出现,抽象类的吸引力是否降低了?

    NET 中扩展方法的一个有趣的方面是您可以将它们应用到接口 对我来说 我可以在接口附近定义功能 而无需定义使程序集混乱的抽象类 这似乎很好 我知道抽象类并没有过时 但是您对在代码中利用这种副作用有何看法 Example public sta
  • 在 Qt 中将多个小部件合并为一个

    我反复使用一对QComboBox and QListWidget在一个项目中 它们的交互是高度耦合的 当在组合框中选择一个项目时 列表会以某种方式进行过滤 我在多个对话框实现中复制粘贴这两个小部件之间的所有信号和插槽连接 我认为这不是一个好
  • 什么是杂注头?缓存页面..和 IE

    因此 我在 php 中发送标头来缓存我的页面 这也集成到我们的 CDN contendo akamai 中 我总是使用这个 pragma cache header 我见过各种例子也使用它 然而 我刚刚检查了 fiddler 来测试我们开发的
  • PHP $_FILES MIME 类型返回 null

    现在我正在尝试编写一个脚本 该脚本仅接受某些音频文件上传到服务器 但是 某些 MIME 类型将返回为 null 这是一些代码片段 PHP allowedExt array audio mp4a latm if isset POST prin
  • 项目同时使用MySQL和PostgreSQL时从JsonStringType切换为JsonBinaryType

    当需要从 PostgreSQL 切换到 MariaDB MySql 时 我遇到了 json 列的问题 我使用 Spring Boot JPA Hibernate hibernate types 52 我想要映射的表是这样的 CREATE T
  • BreakIterator 在 Android 中如何工作?

    我正在 Android 中制作自己的文本处理器 蒙古语的自定义垂直脚本 TextView 我以为我必须自己找到所有换行位置 以便我可以实现换行 但后来我发现BreakIterator https developer android com
  • 如何根据另一个字段的值禁止 TFS 要求工作项中的状态从“建议”更改为“活动”?

    I ve added department approvals to the standard CMMI Template Requirement work item I d like to limit the System State f