如何查询Jira中被跨项目移动、变更过所属项目的工单?
Jira跨项目移动工单查询方案
你使用Project CHANGED FROM "Customer triage"触发语法报错,通常是Jira版本低于7.3,或缺少问题历史查看权限导致的。可根据你的环境选择以下可行方案,筛选初始创建在项目A、后续被移动到其他项目的工单:
方案1:原生JQL查询(Jira 7.3+ / Cloud版本适用)
符合版本要求的环境原生支持项目变更记录查询,完整JQL写法如下:
project CHANGED FROM "项目A" AND project != "项目A"
末尾的AND project != "项目A"用于过滤后续又被移回项目A的工单,若需要统计所有曾从项目A移出的记录,可删除该段条件。如果版本符合仍提示语法错误,请联系Jira管理员为你的账号开通问题历史查看权限。
方案2:插件扩展查询(全版本适用)
安装ScriptRunner等JQL扩展插件后,可直接调用内置函数实现精准筛选,语法如下:
issueFunction in movedIssues("项目A", "*")
第二个参数填写*代表匹配所有目标项目,也可指定具体项目Key,筛选仅移动到该目标项目的工单。
方案3:无插件手动匹配(小体量项目适用)
如果项目A累计工单数量较少,可以先导出项目A全量历史工单的Key列表,再用以下JQL筛选:
issueKey in (项目A-1, 项目A-2, 项目A-3...) AND project != "项目A"
Jira工单跨项目移动后,旧项目的工单Key会保留作为访问别名,可以被JQL正常检索。
方案4:管理员数据库查询
若你有Jira数据库访问权限,可直接执行SQL查询获取结果,以MySQL为例:
SELECT DISTINCT ji.issuenum, ji.pkey AS current_issue_key, p.pname AS current_project_name FROM changeitem ci JOIN changegroup cg ON ci.groupid = cg.id JOIN jiraissue ji ON cg.issueid = ji.id JOIN project p ON ji.project = p.id WHERE ci.field = 'Project' AND ci.oldstring = '项目A'

内容的提问来源于stack exchange,提问作者nahusznaj
相关产品推荐
相关产品推荐

