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

Tempo Planner event listener

The Script can be used as an event listener for Tempo Plans (Create, Edit, Delete).

 

import com.onresolve.scriptrunner.runner.customisers.PluginModule import com.onresolve.scriptrunner.runner.customisers.WithPlugin import com.atlassian.event.api.EventListener import com.atlassian.event.api.EventPublisher import com.atlassian.jira.event.type.EventType import com.atlassian.jira.event.type.EventTypeManager import com.atlassian.jira.component.ComponentAccessor import com.tempoplugin.jira.plan.* import com.tempoplugin.jira.plan.core.ao.AOAllocationService import com.tempoplugin.jira.plan.core.api.Allocation import com.tempoplugin.planner.api.AllocationDto import com.tempoplugin.planner.api.event.AllocationEvent import com.tempoplugin.planner.api.event.AllocationCreatedEvent import com.tempoplugin.planner.api.event.AllocationDeletedEvent import com.tempoplugin.planner.api.event.AllocationUpdatedEvent import com.onresolve.scriptrunner.runner.util.UserMessageUtil import com.tempoplugin.platform.api.event.Event import static groovyx.net.http.ContentType.* import org.apache.log4j.Level import org.apache.log4j.Logger def myLog = Logger.getLogger("com.onresolve.jira.groovy") myLog.setLevel(Level.DEBUG) @WithPlugin("is.origo.jira.tempo-plugin") AllocationEvent event2 = event myLog.info("Received event ${event2}") def AllocationEventName = event2.getClass().getSimpleName() myLog.info("Received event of type ${event2.getClass().getSimpleName()}") if(event2 instanceof AllocationCreatedEvent){ myLog.info("A new allocation with the ID : ${event.allocation.id} has been created") } if(event2 instanceof AllocationDeletedEvent){ myLog.info("The allocation with ID: ${event.allocation.id} has been deleted") } if(event2 instanceof AllocationUpdatedEvent){ myLog.info("The allocation with the ID : ${event.allocation.id} has been updated") }

Other parameters of the allocation event are:

id=184 parent=null planItemId=10029 planItemType=ISSUE assigneeKey=paul assigneeType=USER description=PLan for Paul secondsPerDay=7200, shouldIncludeNonWorkingDays=false creatorKey=john updaterKey=john startDate=2021-01-19 endDate=2021-01-23 recurrenceEndDate=2021-01-23 rule=NEVER