我有一个关于jira jql过滤条件的问题,以移动显示移动的项目。 我们的JIRA中有四个项目,我想创建一个统计数据以显示从项目A移至项目b的流程。 如果我想建立一个过滤器.. project =“ A”并将项目更改为“ B” ...它说不可能在“项目”字段中进行历史搜索。
背景: 项目“ A”是一个分析项目,它确定任务是否转到开发项目(项目“ B”)。 因此,我想展示分析团队做出了多少积极的决定。 我希望任何人都可以帮助我:)。 预先感谢。
答案 0 :(得分:0)
目前没有可用的现成解决方案,您需要安装 Script Runner 插件。
与插件一起,您可能需要运行以下脚本来确定从项目 AAA 移至 BBB的问题。
将以下内容粘贴到Script Runner
控制台中,选择Groovy
作为脚本引擎并运行此脚本。
package eventim.scripts
import com.atlassian.jira.bc.issue.search.SearchService
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.web.bean.PagerFilter
jqlQuery = 'project = BBB'
fromProject = 'AAA'
result = ''
def changeHistoryManager = ComponentAccessor.getChangeHistoryManager()
getFilterResult(jqlQuery,log).each{ Issue issue ->
oldKeys = changeHistoryManager.getPreviousIssueKeys(issue.id)
oldKeys.findAll{it==~/$fromProject.*/}.each{
result += "$it -> ${issue.key}\n"
}
}
return result
List<Issue> getFilterResult(String jqlSearch, log) {
def searchService = ComponentAccessor.getComponent(SearchService.class);
def user = ComponentAccessor.jiraAuthenticationContext.getLoggedInUser()
List<Issue> issues = null
def parseResult = searchService.parseQuery(user, jqlSearch);
if (parseResult.isValid()) {
def searchResult = searchService.search(user, parseResult.getQuery(), PagerFilter.getUnlimitedFilter())
issues = searchResult.issues
} else {
log.error("Invalid JQL: " + jqlSearch);
}
return issues
}
如果您认为这是一个乏味的过程,则可以尝试 JQL Tricks Plugin 。
您可以在此page上找到更多详细信息。希望这会有所帮助!