Youtrack REST API按Issue Type筛选问题异常:未返回过滤结果
解决YouTrack API按Issue类型筛选无效果的问题
针对你遇到的API请求返回所有项目问题而非仅Task类型的情况,可按以下步骤排查修复:
1. 确认Type字段的内部标识是否正确
YouTrack的字段显示名和内部存储名可能存在差异(尤其是自定义字段),默认Type字段的内部名通常为Type,但如果是自定义的Issue类型字段,需要先通过/api/admin/projects/{prjId}/customFields接口获取该字段的准确name或id值:
- 如果字段ID是
XXX-123,则查询参数应改为query=XXX-123:Task - 若使用字段名,确保和系统内的名称完全一致(包括大小写)
2. 修正查询语法格式
尝试给类型名称添加双引号,避免服务器解析时出现歧义,修改后的query参数为:
query=type:"Task"
3. 检查URL参数编码
确保query参数值已正确URL编码,虽然type:Task本身没有特殊字符,但如果后续查询包含空格、中文等内容,必须编码。编码后的参数为:
query=type%3ATask
4. 明确限定项目范围
尽管请求路径已指定项目ID,仍可在query中再次明确项目范围,确保筛选仅针对目标项目:
query=project:{prjId} type:Task
修改后的完整请求示例
https://{baseURL}/api/admin/projects/{prjId}/issues?fields=id,idReadable,project(name),customFields(name,value(name,minutes)),reporter(created,login),created&customFields=Assignee&customFields=Priority&customFields=Fix in Version&customFields=Status&customFields=Type&customFields=Total Dev Estimation&customFields=Estimation&customFields=Total Spent time&customFields=Billable Month&customFields=Due Date&$top=50&query=type:"Task"
内容的提问来源于stack exchange,提问作者Rajeshkanth
相关产品推荐
相关产品推荐

