Optilude运行报错:Jira字段'resolution'不存在'Closed'值求解决
问题分析与解决方案
这个报错的核心原因是JQL查询中使用的分辨率名称和Jira系统实际存储的内部技术名称不匹配——你看板里显示的"Closed"是它的友好展示名称,但Jira处理JQL时只认系统内的真实名称,哪怕两者看起来一模一样,也可能存在拼写、空格、大小写或自定义时的细微差异。
下面是一步步解决的方法:
1. 确认"Closed"分辨率的准确内部名称
你需要先获取Jira系统中该分辨率的真实名称,有两种简单方式:
- 方法一:通过Jira REST API查询
打开Windows命令提示符(CMD),运行以下命令(替换你的Jira账号邮箱和API令牌,令牌可在Atlassian账号设置中生成):
返回的JSON结果会列出所有分辨率,找到对应显示为"Closed"的条目,查看它的curl -u your-email@example.com:your-api-token https://livesport.atlassian.net/rest/api/2/resolutionname字段值,这就是你需要使用的准确名称。 - 方法二:在Jira后台查看
登录Jira管理员账号,进入「设置」→「问题」→「分辨率」,找到你设置的"Closed"分辨率,检查它的名称是否存在隐藏空格、大小写差异(比如是否是全小写的"closed",或是末尾带空格的"Closed ")。
2. 修改YAML配置文件
将你yaml文件中resolutions数组里的"Closed"替换为刚才查到的准确内部名称。比如如果真实名称是"Closed Issue",就修改为:
resolutions: ["Done", "Closed Issue"]
3. 验证JQL有效性
修改配置前,你可以先把工具生成的JQL复制到Jira搜索框中测试:
project = VELCRO AND issueType IN ("Story", "Task", "Bug") AND (resolution IS EMPTY OR resolution IN ("Done", "Closed")) ORDER BY updatedDate DESC
如果在Jira中直接执行也报错,那完全可以确认是名称不匹配的问题;如果Jira里能正常搜索,再检查yaml文件的格式是否正确(比如数组括号、引号是否为半角字符,有没有多余缩进)。
额外排查点
如果还是无法解决,可检查运行工具的Jira账号是否有权限访问该分辨率,但这种情况概率极低——毕竟你移除"Closed"后就能正常运行,说明账号权限没有问题。
内容的提问来源于stack exchange,提问作者Penelope The Duck
相关产品推荐
相关产品推荐

