从Jira项目获取Epic列表:API调用后comment字段为空问题求助
问题排查与解决
核心原因
Jira REST API的/search接口默认不会返回评论字段,必须显式指定要获取的字段或扩展项;另外你的请求URL存在格式错误,可能影响接口的正确解析。
具体修正步骤
1. 修复请求URL的JQL格式错误
你当前的URL写法把JQL条件拆分到了search?jql=前后,属于语法错误,正确的JQL应该整合在jql参数中:
错误写法:
.get(` project = ${projectIdOrKey} AND search?jql=issuetype = Epic`)
正确的JQL逻辑是issuetype = Epic AND project = ${projectIdOrKey},建议通过params传递参数(避免手动拼接URL导致的编码问题)。
2. 显式指定获取评论字段
通过以下两种方式之一让接口返回评论:
- 使用
expand参数:获取完整的评论数据(包括评论内容、作者、时间等) - 使用
fields参数:指定要返回的字段列表,包含comment
修正后的代码示例
this.getRestApiClient(3) .get('/search', { params: { jql: `issuetype = Epic AND project = ${projectIdOrKey}`, expand: 'comments' // 扩展获取评论数据 // 或者用fields指定字段:fields: 'key,summary,comment' } }) .then(async (response) => { const epics = await Promise.all( response.data.issues.map(async (issue) => { // 此时issue.fields.comment会包含评论列表 return { issueKey: issue.key, summary: issue.fields.summary, comments: issue.fields.comment?.comments || [] // 提取评论数组 }; }) ); // 后续处理逻辑 })
补充说明
- 若需要渲染后的评论内容(比如处理富文本格式),可以将
expand设为comments,renderedFields - 确保你的API权限包含读取评论的权限(Jira项目权限设置中需开放评论查看权限)
内容的提问来源于stack exchange,提问作者blip
相关产品推荐
相关产品推荐

