首页 > 解决方案 > JIRA 统计从链接问题和子任务到单个问题的所有记录工作

问题描述

我已经尝试了几种不同的 groovy 脚本方法形成各种示例,因为我不是编码员,但已经接近但没有真正的成功。我举起双手,想知道是否有聪明人知道如何做到这一点。

我只需要将针对特定链接类型的父问题及其子任务记录的所有总工作量显示为一个问题作为总计。见图。在此处输入图像描述

标签: groovyserverscriptingjira

解决方案


更正发布的答案:

另一个社区成员在这里为我回答了这个问题:https ://community.atlassian.com/t5/Jira-Questions/JIRA-tally-all-logged-work-from-linked-issues-and-sub-tasks-to /qaq-p/1434260#U1435384

提供的对我有用的脚本如下:

// Template: Duration (either of the 2)

import com.atlassian.jira.component.ComponentAccessor

def issueLinkmanager = ComponentAccessor.getIssueLinkManager()
def subtaskManager = ComponentAccessor.getSubTaskManager()
def workLogManager = ComponentAccessor.getWorklogManager()

def linkName = "Work"


def linkCollection = issueLinkmanager.getLinkCollectionOverrideSecurity(issue)
def linkedIssues = linkCollection?.getInwardIssues(linkName) //Inward or Outward? Verify and change if needed.

if (!linkedIssues) {
    // no linked issues
    return null
}

def totalTimeSpentFromWorkLinkedIssuesAndTheirSubtasks = []

for (def linkedIssue:linkedIssues) {
    def worklogList = workLogManager.getByIssue(linkedIssue)
    for (def worklog:worklogList) {
        def timeSpent = worklog.getTimeSpent()
        totalTimeSpentFromWorkLinkedIssuesAndTheirSubtasks.add(timeSpent)
    }

    def subTasks = subtaskManager.getSubTaskObjects(linkedIssue)
    for (def subTask:subTasks) {
        def worklogListSubTask = workLogManager.getByIssue(subTask)
        for (def worklogSubTask:worklogListSubTask) {
            def timeSpent = worklogSubTask.getTimeSpent()
            totalTimeSpentFromWorkLinkedIssuesAndTheirSubtasks.add(timeSpent)
        }
    }
}

return totalTimeSpentFromWorkLinkedIssuesAndTheirSubtasks?.sum()

推荐阅读