如何通过Azure DevOps REST API创建字符串列表类型工作项字段?
通过Azure DevOps REST API创建字符串列表(多选)工作项字段
要实现字符串列表类型的工作项字段,本质是创建多选下拉字段,需要结合多选Picklist和字段配置,具体步骤如下:
1. 创建支持多选的字符串Picklist
首先调用Picklist API创建允许多选的字符串选项列表,核心是添加isMultiSelect: true参数:
{ "id": null, "name": "MyMultiPicklist", "type": "String", "isMultiSelect": true, "items": [ "Blue", "Green", "Red" ], "isSuggested": false }
API请求地址:POST https://dev.azure.com/{organization}/_apis/work/picklists?api-version=7.1-preview.1
创建成功后会返回该Picklist的ID,后续字段配置需要用到这个ID。
2. 创建关联多选Picklist的工作项字段
创建字段时保持type: "string",同时添加以下关键配置:
isMultiPicklist: true:标记字段为多选类型picklistId: "步骤1返回的Picklist ID":关联刚才创建的多选选项列表isIdentity: false:取消身份字段标记(原请求中误设为true会导致字段行为异常)- 调整
supportedOperations为适合多选字段的查询操作(比如Contains/DoesNotContain)
示例请求JSON:
{ "name": "MyMultiSelectField", "referenceName": "Custom.MyMultiSelectField", "description": "自定义多选字符串字段", "type": "string", "usage": "workItem", "readOnly": false, "canSortBy": true, "isQueryable": true, "supportedOperations": [ { "referenceName": "SupportedOperations.Contains", "name": "Contains" }, { "referenceName": "SupportedOperations.DoesNotContain", "name": "Does Not Contain" } ], "isIdentity": false, "isPicklist": true, "isMultiPicklist": true, "picklistId": "YOUR_PICKLIST_ID", "isPicklistSuggested": false, "url": null }
API请求地址:POST https://dev.azure.com/{organization}/_apis/work/fields?api-version=7.1-preview.2
关键注意事项
- 必须先创建带
isMultiSelect: true的Picklist,字段才能正确关联为多选类型 - 字段的
isMultiPicklist参数是核心,没有它即使关联了多选Picklist,界面仍会显示为单选 - 多选字段的查询操作建议使用Contains/DoesNotContain,而非Equals,更符合多选场景的查询逻辑
内容的提问来源于stack exchange,提问作者Laurent
相关产品推荐
相关产品推荐

