I have what appears to be a relatively straightforward listener:
-----------------------------------------------------
log.warn("started")
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
def customFieldManager = ComponentAccessor.customFieldManager
def issue = event.issue
def issueType = issue.issueType.name
// This is the existing selector field
def loeDevSelectorFieldObject = customFieldManager.getCustomFieldObject(11100)
def loeDevSelectorField = issue.getCustomFieldValue(loeDevSelectorFieldObject)
// This is the (new) Double field to do summing over in reports
def loeDevNumberFieldObject = customFieldManager.getCustomFieldObject(11801)
def loeDevNumberField = issue.getCustomFieldValue(loeDevNumberFieldObject)
def dLoe = 0 as Double
assert loeDevNumberField : "Could not find custom field with name 'LOE Development'"
assert loeDevSelectorField : "Could not find custom field with name 'Level Of Effort - Development'"
if (!issueType.equals("Bug") && !issueType.equals("Feature")) { return }
log.warn("got past type guard")
if (loeDevSelectorField.toString().equals("0")) { dLoe = 0 }
if (loeDevSelectorField.toString().equals("1")) { dLoe = 1 }
if (loeDevSelectorField.toString().equals("2")) { dLoe = 2 }
if (loeDevSelectorField.toString().equals("3")) { dLoe = 3 }
if (loeDevSelectorField.toString().equals("5")) { dLoe = 5 }
if (loeDevSelectorField.toString().equals("8")) { dLoe = 8 }
if (loeDevSelectorField.toString().equals("13")) { dLoe = 13 }
loeDevNumberFieldObject.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(loeDevNumberFieldObject), dLoe as Double), new DefaultIssueChangeHolder())
--------------------------------------------------
But most of the executions are failing and the information I need is likely truncated away from the top of the log because I get hundreds of "at" messages:
----------------------------------------
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEventIfNotificationsAreEnabled(DefaultIssueEventManager.java:180) ~[classes/:?] at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEvent(DefaultIssueEventManager.java:175) ~[classes/:?] at com.atlassian.jira.event.issue.DefaultIssueEventManager.dispatchIssueEventBundle(DefaultIssueEventManager.java:129) ~[classes/:?] at com.atlassian.jira.workflow.function.event.FireIssueEventFunction.execute(FireIssueEventFunction.java:73) ~[classes/:?] at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:1014) ~[osworkflow-2.9.0-atlassian-1.jar:2.9.0-atlassian-1] at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1407) ~[osworkflow-2.9.0-atlassian-1.jar:2.9.0-atlassian-1]
[... many many similar messages deleted ...]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-coyote.jar:9.0.80] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-util.jar:9.0.80] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-util.jar:9.0.80] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:9.0.80] at java.lang.Thread.run(Thread.java:829) ~[?:?]
Start of logs truncated as they exceeded 300 lines.
-----------------------------------------
I found this question that talks about the ScriptRunner version and such:
https://community.atlassian.com/t5/Jira-questions/300-lines-of-error-at-transition/qaq-p/2180085
I have ScriptRunner 8.15.0 and Jira 9.11.2
Any hints?
Thanks, R/ John