Use UserUtils in a velocity template

Deleted user November 30, 2014

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

0 votes
Answer accepted
Boris Georgiev _Appfire_
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.
November 30, 2014

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")

0 votes
Deleted user December 1, 2014

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 Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events