You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jira API查询中使用JQL开头运算符过滤自定义字段值

Jira自定义字段前缀匹配JQL构造方案

错误原因

你当前的写法存在两个问题:

  1. JQL模糊匹配运算符用法错误:前缀匹配的~运算符需要放在字段和匹配值之间,不能写入值的内部
  2. URL未做特殊字符转义:JQL中的方括号、双引号、通配符属于URL特殊字符,未编码会触发400参数错误

正确JQL语句

匹配cf[10025]值以P00开头的JQL写法如下:
cf[10025] ~ "P00*"
要点说明:

  • 模糊匹配运算符~放在字段与匹配值中间
  • 前缀末尾加通配符*代表匹配后续任意字符
  • 匹配值使用双引号包裹,适配所有Jira版本的语法要求

正确请求构造

直接使用编码后的URL

编码后符合规范的请求URL示例:
https://example.com/rest/api/2/search?maxResults=500&jql=cf%5B10025%5D%20~%20%22P00*%22&fields=id,key,issuetype,status,customfield_10025

Python代码示例

如果使用Python的requests库调用,无需手动编码,直接通过params参数传递即可,示例代码:

import requests

JIRA_DOMAIN = "https://example.com"
API_TOKEN = "你的Jira接口凭证"

url = f"{JIRA_DOMAIN}/rest/api/2/search"
params = {
    "maxResults": 500,
    "jql": 'cf[10025] ~ "P00*"',
    "fields": "id,key,issuetype,status,customfield_10025"
}
headers = {
    "Authorization": f"Bearer {API_TOKEN}",
    "Content-Type": "application/json"
}

resp = requests.get(url, params=params, headers=headers)
resp.raise_for_status()
data = resp.json()

排查说明

如果请求仍返回错误,可先按以下步骤排查:

  • 确认cf[10025]字段类型为文本类(单行文本、多行文本),选择类、数字类字段不支持~模糊匹配
  • 先在Jira网页端高级搜索中测试JQL语句是否能正常返回结果,确认语句正确性后再调用接口

内容的提问来源于stack exchange,提问作者jgtrz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:54:05