Критерии фильтра JIRA JQL для отображения перемещенных проектов

У меня есть вопрос относительно критериев фильтра jira jql для перемещения отображения перемещенных проектов. У нас есть четыре проекта в JIRA, и я хочу создать статистику для отображения процессов, которые перемещаются из проекта A в проект b. Если я хочу создать фильтр, например... проект = "А" и проект изменен на "Б"... он говорит, что исторический поиск невозможен в поле "проект".

Справочная информация: проект «А» является аналитическим проектом и решает, будет ли задача передана в проект разработки (проект «Б») или нет. Итак, я хочу показать, сколько положительных решений было принято аналитической командой. Я надеюсь, что кто-нибудь может мне помочь :). Заранее спасибо.


person pbbire    schedule 05.11.2018    source источник


Ответы (1)


Готового решения для этого не существует, вам понадобится 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.

Вы можете найти более подробную информацию об этом страница. Надеюсь это поможет!!!

person N00b Pr0grammer    schedule 09.11.2018