如何在JIRA REST API的JQL中筛选自定义字段非空的问题?
解决JIRA API筛选自定义字段非空问题的正确写法
你的问题出在把自定义字段的筛选条件拆成了单独的URL参数,JIRA的Search API要求所有查询逻辑都必须包含在jql这个单一参数的字符串里,不能拆分出来作为独立参数。
正确的JQL语法
要筛选自定义字段已填写(非空)的问题,JQL支持两种写法:
- 用自定义字段ID:
project=projectname AND customfield_XXXXXX IS NOT EMPTY(把XXXXXX替换成你的字段ID) - 用自定义字段名称(如果名称有空格或特殊字符,必须加双引号):
project=projectname AND "Sponsor" IS NOT EMPTY
完整的请求URL示例
把上述JQL语句进行URL编码后,拼接成完整的请求地址:
https://jira.companyname.com/rest/api/2/search?jql=project%3Dprojectname%20AND%20customfield_XXXXXX%20IS%20NOT%20EMPTY&maxResults=1000
或者用字段名称的版本:
https://jira.companyname.com/rest/api/2/search?jql=project%3Dprojectname%20AND%20%22Sponsor%22%20IS%20NOT%20EMPTY&maxResults=1000
为什么之前的写法无效?
你之前的写法里,&customfield_number!%3DEMPTY是作为一个独立的URL参数传递的,但JIRA API只会解析jql参数里的查询逻辑,完全不会识别这个额外参数,所以筛选条件根本没生效。
内容的提问来源于stack exchange,提问作者ladybug
相关产品推荐
相关产品推荐

