通过ADO REST API创建的Picklist在UI所有进程字段列表不显示如何解决
问题根因
单独调用Picklist创建接口生成的是未关联任何进程字段的孤立全局选取列表,Azure DevOps的进程字段列表默认不会展示未绑定到当前进程字段的独立Picklist,只有当Picklist被绑定到对应进程下的具体工作项字段后,才会在UI的字段列表中正常显示。
正确操作步骤
- 创建全局Picklist
调用Picklist创建接口,传入name、isGlobal:true、选项列表items参数即可完成创建。这一步生成的Picklist会存放在组织级全局选取列表池中,可在组织设置「进程」-「选取列表」菜单下查询到,不会直接展示在单进程的字段列表中。 - 绑定Picklist到目标进程的对应字段
这一步是多数用户遗漏的核心操作,需要调用进程字段的创建/更新接口,给目标字段指定引用已创建的全局Picklist,核心请求示例如下:
请求体内容:PATCH https://dev.azure.com/{组织名称}/_apis/work/processes/{目标进程ID}/workItemTypes/{工作项类型}/fields/{字段引用名}?api-version=7.1{ "defaultValue": null, "isRequired": false, "type": { "id": "picklist", "attributes": { "picklistId": "此前创建的Picklist对应的ID", "isGlobal": true } } } - 验证展示结果
绑定完成后等待1-2分钟待后台配置缓存同步,刷新对应进程的字段列表页,即可看到关联了该Picklist的字段,点击字段可查看完整的Picklist选项配置。
常见注意事项
- 不要将字段类型设置为普通
string后单独附加Picklist规则,必须显式将字段的类型id设为picklist并传入正确的picklistId,否则绑定不生效。 - 如果使用的是继承进程,不要直接修改系统父进程的字段配置,需要在自定义的继承进程下完成字段与Picklist的绑定,否则配置不会生效,也无法在UI展示。
- 接口调用完成后无需立刻刷新页面,Azure DevOps后台存在配置同步缓存,30秒到2分钟的展示延迟属于正常情况。
内容的提问来源于stack exchange,提问作者PaulitosWay
相关产品推荐
相关产品推荐

