Document toolboxDocument toolbox

To learn more about Tempo products, please visit our Help Center. For support, see our Support Portal.

Summing worklogs of an Account

The script snippet is summing worklogs for a Tempo Account using the Java API. The method used here is getWorklogsByAccount which needs two parameters. The date as a pair of tuple and the Tempo Account ID.

import com.onresolve.scriptrunner.runner.customisers.PluginModule import com.onresolve.scriptrunner.runner.customisers.WithPlugin import com.onresolve.scriptrunner.runner.ScriptRunnerImpl import org.apache.log4j.Level import org.apache.log4j.Logger import org.apache.commons.lang3.tuple.Pair import org.apache.commons.lang3.tuple.ImmutablePair import org.joda.time.Days import org.joda.time.LocalDate import org.joda.time.Weeks import com.tempoplugin.folio.model.time.Period import java.io.Serializable import com.atlassian.jira.issue.worklog.Worklog import com.atlassian.jira.component.ComponentAccessor import is.origo.jira.plugin.common.TempoWorklogManager import com.tempoplugin.worklog.v4.model.IssueExpandParams import com.tempoplugin.worklog.v4.model.TempoWorklog import com.tempoplugin.worklog.v4.model.WorklogSearchParams import com.tempoplugin.worklog.v4.services.TempoWorklogV4BeanFactory import com.tempoplugin.worklog.v4.services.search.WorklogSearchService import com.tempoplugin.worklog.* def myLog = Logger.getLogger("com.onresolve.jira.groovy") myLog.setLevel(Level.DEBUG) @WithPlugin('com.tempoplugin.tempo-plan-core') def startdate= new LocalDate(2020, 1, 1) def enddate= new LocalDate(2020, 12, 31) def timeperiod = new Period(startdate,enddate) def duration = ImmutablePair.of(startdate, enddate) @WithPlugin("is.origo.jira.tempo-plugin") @PluginModule def TempoWorklogService tempoworklogservice def accountID = 2 def accountworklogs = tempoworklogservice.getWorklogsByAccount(duration,accountID).getReturnedValue() accountworklogs.sum { Worklog worklog ->worklog.timeSpent} as Long