Jira Tempo API无法获取问题工时日志但网页可见的排查求助
排查思路与解决方案
一、先验证令牌获取逻辑(近期唯一改动点)
- 确认
TempoAPITokenResponse类的字段定义完全匹配Tempo令牌接口的返回结构:比如Tempo返回的access_token是蛇形命名,你的类字段是否也是access_token(而非PascalCase的AccessToken),反序列化时字段名不匹配会导致令牌为空,此时API调用用了无效令牌,可能返回空结果而非明确的权限错误 - 打印
AccessToken的实际值:在赋值后输出令牌的长度或前几位,确认不是空值或无效字符串,对比之前正则方式获取的令牌格式是否一致 - 检查请求头的Authorization格式:确保调用Tempo API时,请求头是
Authorization: Bearer {AccessToken},是否漏了Bearer前缀(这是常见的权限问题诱因)
二、验证Tempo API调用的细节
- 强制添加时间范围参数:虽然按问题查询的接口默认应该返回所有关联日志,但尝试给请求添加
updatedFrom参数(比如GET https://api.tempo.io/core/3/worklogs/issue/XX-123?updatedFrom=2022-01-01),覆盖可能存在的默认时间过滤规则 - 检查API端点拼写:确认调用的是
/core/3/worklogs/issue/{issueKey},没有把worklogs写成worklog,或者端点版本号错误 - 用Postman/curl手动测试:直接用正确的令牌调用该接口,若Postman也返回空,说明是Tempo端的配置或数据问题;若Postman能返回结果,说明代码里的请求逻辑有问题(比如请求头缺失、参数传递错误)
三、排查Tempo与Jira的权限/数据同步
- 确认令牌的权限范围:在Tempo集成令牌配置页,检查是否拥有
Tempo Worklogs - Read权限,且关联的Jira项目包含XX-123所在项目 - 验证日志的实际归属:网页上看到的工时日志是否确实关联到XX-123,而非其子任务或其他关联问题(部分场景下日志会关联到子任务,父任务的API查询不会返回)
- 检查Tempo日志可见性设置:部分团队会配置Tempo的日志可见性规则,即使有Jira权限,也可能被Tempo的额外权限限制无法查看特定日志
- 排查Tempo数据同步:如果以上都没问题,可能是Tempo平台内部的数据同步异常,提交工单给Tempo支持,提供问题Key和API请求的响应信息,让平台侧排查数据是否同步到API接口
内容的提问来源于stack exchange,提问作者Roli
相关产品推荐
相关产品推荐

