Hi am new to JIRA Development and have encountered my first Problem
I need to get a List of all Jira-Projects in something like a dropdown menu
This is my Java Code which simply renders the velocity
templateRenderer.render("serviceTime.vm", response.getWriter());
In my Velocity the code looks like this
<div class="field-group"> <label for="dProj">Project</label> <select class="select" id="dProj" name="Projects"> #foreach ($pr in $projectManager.getProjectObjects()) <option>$pr.getName()</option> #end </select> </div>
But my selectmenu remains empty
do i miss something here ?
when i do a simple check in JAVA like...
for(int i = 0;i < projects.size(); i++){ System.out.println(" Project : " + projects.get(i).getName()); }
it works, why not in the velocity
Best Regards
Your velocity template probably does not know about $projectManager. You have to add a reference to a ProjectManager to the velocity context.
What class is templateRenderer? Can it add objects to the velocity context?
I would use com.atlassian.jira.template.VelocityTemplatingEngine for that, e.g.:
import static com.atlassian.jira.template.TemplateSources.file; VelocityTemplatingEngine templatingEngine = ComponentAccessor.getComponent(VelocityTemplatingEngine.class); // or constructor injection Map<String, Object> velocityParams = ComponentAccessor.getVelocityParamFactory().getDefaultVelocityParams(); velocityParams.put("projectManager", ComponentAccessor.getProjectManager()); templatingEngine.render(file(pathToYourTemplate)) .applying(velocityParams) .asPlainText(response.getWriter()); // or asHtml(...)
i was using com.atlassian.templaterenderer.TemplateRenderer
but i got it now thank u...did not know the velocity needs a reference
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.