Use UserUtils in a velocity template

Hello,

I'm trying to retrieve the full name of some users from their username. I think the UserUtil interface can do that but I couldn't find how to make it works in my vm file.

My velocity template:

#set($name = $userutil.getUserByName("bla").getDisplayName())
...
$name

Problem: "$name" is displayed but not replaced by the full name.

My atlassian-plugin.xml:

<component-import key="userutil" 
        interface="com.atlassian.jira.user.util.UserUtil" />

JIRA version: v6.3.3

Thanks for your time and your help.

2 answers

1 accepted

using $userutil assumes that you've got getUserUtil in your webwork action which renders the velocity template.

So you can either expose UserUtil through a getter in the java code or create a method that calls UserUtil and returns the display name:

something like getDisplayName(String user) { return UserUtil.getUserByName(user).getDisplayName()}

and then call it in velocity:

$displayName("bla")

Thanks for your answer,

I didn't do exactly what you wrote but that helped me to understand the existing code I'm working on. I add the method getDisplayName to the utilities class and then, I put an instance of this class in the context map so that I can use it in the velocity template.

Here's my code for people having the same issue:

Utility class:

import com.atlassian.jira.user.UserUtils;
...
 public String getDisplayName(String username) {
        return UserUtils.getUser(username).getDisplayName();
    }
...

Java class of the plugin:

Utilities utils = new Utilities();
...
contextMap.add("utils", utils);

Velocity template:

$utils.getDisplayName("some username")

Now, it works!

Suggest an answer

Log in or Join to answer
Community showcase
Sarah Schuster
Posted Jan 29, 2018 in Jira

What are common themes you've seen across successful & failed Jira Software implementations?

Hey everyone! My name is Sarah Schuster, and I'm a Customer Success Manager in Atlassian specializing in Jira Software Cloud. Over the next few weeks I will be posting discussion topics (8 total) to ...

3,323 views 14 20
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot