当您在 Azure devops 中创建诸如 Bug 之类的工作项时,您将在“原因”字段的下拉列表中看到的值将取决于您为“状态”字段选择的值。例如,请参阅这些屏幕截图(模板敏捷,无自定义)
然后,如果您更改状态,则允许的值会更改,如图所示
更令人困惑的是,这些只是记录的 REST API 返回的几个值
给定的 API 返回
"defaultValue": null,
"allowedValues": [
"Verified",
"Not fixed",
"Test Failed",
"As Designed",
"Cannot Reproduce",
"Copied to Backlog",
"Deferred",
"Duplicate",
"Fixed and verified",
"Obsolete",
"Fixed",
"Investigation Complete",
"Approved",
"Investigate",
"Resolved in error",
"Reactivated",
"Regression",
"Build Failure",
"New"
],
"helpText": "The reason why the bug is in the current state",
"alwaysRequired": false,
"dependentFields": [
{
"referenceName": "System.State",
"name": "State",
"url": "https://dev.azure.com/nikhil/_apis/wit/fields/System.State"
},
{
"referenceName": "Microsoft.VSTS.Common.ResolvedReason",
"name": "Resolved Reason",
"url": "https://dev.azure.com/nikhil/_apis/wit/fields/Microsoft.VSTS.Common.ResolvedReason"
}
],
"referenceName": "System.Reason",
"name": "Reason",
"url": "https://dev.azure.com/{project}/{templateid}/_apis/wit/fields/System.Reason"
},
我试图找出正确的 API 或一组 API,以帮助揭开何时显示组合框中的内容、何时将它们标记为只读以及何时让用户编辑它们的神秘面纱。
已解决的原因字段更有趣。对于大多数部分来说,它似乎只是简单地复制了 Reason 字段中的值,但是 Rules API(见下文)并没有表明这种行为。看起来规则 API 返回的内容与该字段显示的行为不匹配。
这里的 REST API 中提到了一个规则的概念 - https://docs.microsoft.com/en-us/rest/api/azure/devops/processes/rules/get?view=azure-devops-rest-5.1 #进程规则
但是,这似乎并没有给出根据我上面解释的另一个字段的值专门控制字段的“allowedValues”的规则。
问题:
- 是否有一个 API 可以为工作项类型上的字段(包括其 allowedValues)提供一套全面的规则?例如,原因或已解决的原因字段取决于状态字段的选择,如上所示?





