currently we are getting custom field values based on custom field IDs - Is there a way to get custom field values based on custom field name?
This is required because we have more than one JIRA instances and have different custom field ID's.
$issue.getCustomFieldValue("customfield_10011")
For including in an HTML velocity template I use something like the code below. You could use a different customFieldManager method to get the field by name but be careful that you only have one custom field with that name defined
#set ($cf = $customFieldManager.getCustomFieldObject('customfield_10371')) #if ($cf) #set ($projectObject = $issue.getProjectObject()) #set ($issueTypeObject = $issue.getIssueTypeObject()) #set ( $idArray = [$issueTypeObject.id] ) #if ( $cf.isInScope($projectObject, $idArray) ) #set ($currValue = $cf.getValue($issue)) #if ($currValue && ! $currValue.equals("")) <tr valign="top"> <td style="color:${textColour};font-family:${textFontFamily};font-size:${textSize};padding:0 10px 10px 0;white-space:nowrap;"> <strong style="font-weight:normal;color:${textSubtleColour};">$cf.name:</strong> </td> <td style="color:${textColour};font-family:${textFontFamily};font-size:${textSize};padding:0 0 10px 0;width:100%;"> $currValue </td> </tr> #end #end #else <tr><td>unknown field</td></tr> #end
You're rigth Srilatha, I'm using groovy. I've never used velocity.I'm sorry
Begoña
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you but looks like you are using groovy(script runner) email templates?
we are trying to update/add velocity email templates in JIRA installation (atlassian-jira\WEB-INF\classes\templates\email)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For more information about how to write the email template see:
http://docs.codehaus.org/display/GROOVY/Groovy+Templates#GroovyTemplates-GStringTemplateEngine
My complete e-mail template (it works for me if the customfields are configured belonging to the correct project):
<hr align="left" noshade="noshade" size="2" width="80%" />
<b>Código de asunto:</b> <% out <<issue.key %><br/>
<b>Tipo de asunto:</b> <% out <<issue.issueType?.name %><br/>
<% if(issue.getCustomFieldValue(componentManager.getCustomFieldManager().getCustomFieldObjectByName("Datos del solicitante"))) { %>
<b>Solicitante:</b> <%out <<issue.getCustomFieldValue(componentManager.getCustomFieldManager().getCustomFieldObjectByName("Datos del solicitante")) %><br/>
<% } %>
<% if(issue.getCreated()) { %>
<b>Fecha de creación:</b> <% out << issue.getCreated().format('dd-MM-yy HH:MM') %><br/>
<% } %>
<b>Aplicación afectada:</b> <%out <<issue.getCustomFieldValue(componentManager.getCustomFieldManager().getCustomFieldObjectByName("CI afectado")) %> <br/>
<hr align="left" noshade="noshade" size="2" width="80%" />
<b>Resumen:</b> <% out << issue.summary %><br/>
<% if(issue.description) { %>
<b>Descripción:</b> <% out << issue.description.replace("\n","<p/>") %>
<% } %>
<hr align="left" noshade="noshade" size="2" width="80%" />
<% if(issue.getResolutionDate()) { %>
<b>Fecha de la desestimación:</b> <% out << issue.getResolutionDate().format('dd-MM-yy HH:MM') %><br/>
<% } %>
<% if(issue.getCustomFieldValue(componentManager.getCustomFieldManager().getCustomFieldObjectByName("Motivo de la Desestimación"))) { %>
<b>Motivo de la desestimación:</b> <% out << issue.getCustomFieldValue(componentManager.getCustomFieldManager().getCustomFieldObjectByName("Motivo de la Desestimación")).replace("\n","<p/>") %><br/>
<% } %>
<hr align="left" noshade="noshade" size="2" width="80%" />
<br/>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you Begona for your reply..
I have used following in my email templates, but still values are not rendered. Is it possible for you to send the whole syntax you are using? and do you have to import anything?
<%out <<issue.getCustomFieldValue(componentManager.getCustomFieldManager().getCustomFieldObjectByName("Equipment Name")) %>
<%out $issue.getCustomFieldValue(componentManager.getCustomFieldManager().getCustomFieldObjectByName("Equipment Name")) %>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Srilatha,
This code works for me in Email Template field used in the Script Listener "Send a custom e-mail":
<b>Aplicación afectada:</b> <%out <<issue.getCustomFieldValue(componentManager.getCustomFieldManager().getCustomFieldObjectByName("CI afectado")) %>
"CI Afectado" is the name of a customfield
Regards,
Begoña
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.