无法通过Azure DevOps REST API隐藏工作项Deployment字段的问题
解决Azure DevOps REST API修改Deployments控件可见性失败的问题
问题原因
你遇到的VS402645错误由两个核心因素导致:
- DeploymentsControl是系统内置特殊控件:它并非普通工作项字段,而是Azure DevOps用于关联部署记录的内置表单控件,常规字段更新逻辑不适用。
- 控件处于继承状态:从布局信息的
"inherited": true可知,该控件是从父进程继承而来的,继承的控件/组不允许直接修改。
解决步骤
1. 将所在组转为自定义状态
先调用组更新API,把包含Deployments控件的组从继承转为自定义:
PATCH https://dev.azure.com/myNewDevOpsOrg/_apis/work/processes/035ff023-2a9c-4f38-b76e-e301dd6fdad6/workItemTypes/processName.Bug/layout/groups/Agile.Bug.Bug.Deployment?api-version=7.1
请求体:
{ "inherited": false, "label": "Deployment", "visible": true }
2. 修改Deployments控件的可见性
完成组的自定义转换后,再调用你原来的控件更新API,即可成功设置可见性:
PATCH https://dev.azure.com/myNewDevOpsOrg/_apis/work/processes/035ff023-2a9c-4f38-b76e-e301dd6fdad6/workItemTypes/processName.Bug/layout/groups/Agile.Bug.Bug.Deployment/Controls/Deployments?api-version=7.1
请求体:
{ "visible": false }
补充说明
错误提示里的“字段不存在”属于API的误导性描述,实际核心问题是继承控件无法直接修改,而非真的没有对应字段。所有从父进程继承的表单控件/组,都需要先转为自定义状态才能修改配置。
内容的提问来源于stack exchange,提问作者Takadox et compagnie
相关产品推荐
相关产品推荐

