groovy script to send email failing in 5.2.2

Brent Webster
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 16, 2013

This groovy script(Script Runner 2.1.3) running in a workflow transition as a post-functions worked in Jira 4.3.6 to (1) cloned an issue from one project to another and then (2) sends out email to particular managers depending on the severity of the issue. Now that we have upgraded to 5.2.2, the cloning works but I see no emails. In the catalina.out, I see the following traceback:

2013-05-16 20:45:25,142 http-bio-8080-exec-14 ERROR ebreweb 1245x2552x1 1x4bvu2 142.133.244.58,127.0.0.1 /secure/QuickCreateIssue.jspa [onresolve.jira.groovy.GroovyFunctionPlugin] Error executing post-function
groovy.lang.MissingPropertyException: No such property: fullName for class: com.atlassian.jira.crowd.embedded.ofbiz.OfBizUser
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
        at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:63)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:227)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetPropertySafe(AbstractCallSite.java:333)
        at groovy.tmp.templates.GStringTemplateScript4$_getTemplate_closure1.doCall(GStringTemplateScript4.groovy:19)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...

I'm using the standard script runner template to create the email. The condition is
cfValues['Customer Severity']?.value == 'P1 - Network is down and business is impacted'

and the email template is

** URGENT **: P1 Customer Severity raised

Summary: ${issue.summary}

Account Name: <% out << cfValues['Account Name']?.value %>

Contact: <% out << cfValues['Contact Name']?.value %>

Severity: <% out << cfValues['Customer Severity']?.value %>

Issue Number: $issue.key

Description: ${issue.description}

Raised by: <% out << issue.reporter?.fullName %>

http://jira-wifi.lmera.ericsson.se/browse/$issue.key
=========

Is there any conversion of the scripting templates that I missed?

3 answers

1 accepted

0 votes
Answer accepted
Henning Tietgens
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 16, 2013

You have to use issue.reporter?.displayName for your JIRA version.

0 votes
Henning Tietgens
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 16, 2013

You can use the official API documentation, here is a nice starting point: Atlassian API Reference

And you could take a look at the wonderful built-in scripts from Jamies Script Runner plugin to learn, how things work.

0 votes
Brent Webster
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 16, 2013

Thanks Henning, that did the trick. Where can I find documentation on these changes. Groovy scripting is a black art ;-) but it does the trick.

Suggest an answer

Log in or Sign up to answer