JIRA JQL фильтр критерии для отображения перемещенных проектов - PullRequest
0 голосов
/ 05 ноября 2018

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

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

1 Ответ

0 голосов
/ 09 ноября 2018

Для этого не существует готового решения, вам необходимо установить плагин Script Runner .

Наряду с плагином вам может потребоваться запустить следующий скрипт, чтобы определить проблемы, которые перемещены из Project 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 .

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

...