How to return the full author name for the last comment

David Rossouw June 23, 2014

Hi

I have been using the script runner to send out some automated emails to external clients when the issue is commented on. However I got a bit stuck with adding the Full name of the author of the last comment.

Using ${componentManager.getCommentManager().getComments(issue).last().author} in the email body I am able to return the code of the author of the last comment e.g. jsoap but I require the full name e.g. Joe Soap.

Is there a way to retrieve the full name?

Thanks

David

5 answers

1 accepted

0 votes
Answer accepted
JamieA
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.
June 24, 2014

You should be able to just append .displayName to what you have already.

David Rossouw June 24, 2014

Thanks guys for the replies. No success yet with either options

@Vinjay

It doesn’t seem that the ComponentAccessor class is used in script runner

groovy.lang.MissingPropertyException: No such property: ComponentAccessor for class: groovy.tmp.templates.GStringTemplateScript229

@Jamie

Similar issue it doesn’t recognise displayName when I tried the following

${componentManager.getCommentManager().getComments(issue).last().author.dispalyName}

groovy.lang.MissingPropertyException: No such property: dispalyName for class: java.lang.String)

Any other ideas? Is there a way for me to add the class/property to the underlying script.

JamieA
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.
June 24, 2014

No such property: dispalyName

David Rossouw June 24, 2014

hehe see where you are going with that, even with the Proper spelling I still get the same issue

Stack Trace:

groovy.lang.MissingPropertyException: No such property: displayName for class: java.lang.String
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)

JamieA
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.
June 24, 2014

OK, use:

authorUser.displayName

David Rossouw June 26, 2014

Excellent. Thank you Jamie this works perfectly

0 votes
Sathish Kumar Devendran February 22, 2016

${componentManager.getCommentManager().getComments(issue).last().authorUser.displayName}

this works fine

0 votes
Vijay Khacharia
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.
June 23, 2014

Hi David,

You have to get the user from the author using userutils.

ComponentAccessor.getUserUtil().getUserObject(ComponentManager.getComponentInstanceOfType(CommentManager.class).getComments(issue).last().author).getDisplayName()

This is groovy syntax. May be this helps.

Vijay

0 votes
Vijay Khacharia
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.
June 23, 2014

Hi David,

You have to get the user from the author using userutils.

ComponentAccessor.getUserUtil().getUserObject(ComponentManager.getComponentInstanceOfType(CommentManager.class).getComments(issue).last().author).getDisplayName()

This is groovy syntax. May be this helps.

Vijay

0 votes
Vijay Khacharia
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.
June 23, 2014

Hi David,

You have to get the user from the author using userutils.

ComponentAccessor.getUserUtil().getUserObject(ComponentManager.getComponentInstanceOfType(CommentManager.class).getComments(issue).last().author).getDisplayName()

This is groovy syntax. May be this helps.

Vijay

Suggest an answer

Log in or Sign up to answer