如何通过参数过滤REST API JSON结果?JIRA 2 API必填自定义字段筛选
如何通过JIRA REST API v2筛选必填自定义字段
嘿,作为REST API新手,我完全理解你想减少返回数据量、直接拿到目标字段的需求!可惜JIRA的createmeta端点并没有提供直接的URI参数来只返回必填的自定义字段,但我们可以通过两步操作高效实现你的目标:
1. 先缩小请求范围,减少响应数据量
你当前的请求会返回所有项目、所有问题类型的字段元数据,这就是返回内容多达2000行的原因。先通过URI参数指定具体的项目和问题类型,能大幅削减返回内容的大小:
使用projectKeys(指定项目key)和issuetypeNames(指定问题类型名称)参数,示例请求如下:
http://localhost:8522/jira522/rest/api/2/issue/createmeta?expand=projects.issuetypes.fields&projectKeys=YOUR_PROJECT_KEY&issuetypeNames=Bug
提示:如果需要多个项目或问题类型,可以用逗号分隔,比如
projectKeys=PROJ1,PROJ2
2. 解析响应,筛选必填自定义字段
虽然没法在URI里直接过滤,但JIRA返回的字段元数据里自带了判断依据:
- 自定义字段的
key格式为customfield_XXXX(比如customfield_10001) - 每个字段都有
required属性,值为true时表示该字段是必填项
举个响应里的字段结构示例:
"fields": { "customfield_10001": { "required": true, "name": "客户优先级", "schema": { "type": "string", "custom": "com.atlassian.jira.plugin.system.customfieldtypes:textfield", "customId": 10001 } }, "summary": { "required": true, "name": "摘要", "schema": { "type": "string" } } }
你只需要在代码里遍历fields对象,筛选出满足以下两个条件的字段:
key以customfield_开头required属性等于true
这样就能精准拿到你需要的必填自定义字段啦!
内容的提问来源于stack exchange,提问作者Vengal
相关产品推荐
相关产品推荐

