How to transform a custom text field in a URL it is displayed by Jira?

Sorin Sbarnea (Citrix)
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.
July 17, 2012

I have a custom field that contains that ID or an issue from another system but I want it to displayed as an URL instead as an simple text field.

How can I do this in Jira?

Remark: the field itself is not a full URL, it is just an ID and I want to add the rest of the url.

Update: I think this may be related to https://confluence.atlassian.com/display/JIRA/Configuring+Renderers but I am not sure how I can implement this.

I do have Jira 4.4 and the specified Renderers link does not appear at all in the interface!

1 answer

1 accepted

0 votes
Answer accepted
Sorin Sbarnea (Citrix)
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.
July 18, 2012

Create a plugin and add this inside <atlassian-plugin>...</atlassian-plugin>

&lt;customfield-type key="textfield" name="Scale Id"
                      class="com.atlassian.jira.issue.customfields.impl.RenderableTextCFType"&gt;
        &lt;description&gt;Scale Id&lt;/description&gt;
        &lt;resource type="velocity" name="view" location="templates/view-scaleid.vm"/&gt;
        &lt;!--&lt;resource type="velocity" name="view" location="templates/plugins/fields/view/view-basictext.vm"/&gt;--&gt;
        &lt;resource type="velocity" name="edit" location="templates/plugins/fields/edit/edit-maxlengthtext.vm"/&gt;
        &lt;resource type="velocity" name="xml" location="templates/plugins/fields/xml/xml-basictext.vm"/&gt;
    &lt;/customfield-type&gt;

This is the {{view-scaleid.vm}} template:

#if ($value)
 &lt;a href="http://example.com/browse/$!value.toString()"&gt;
 #if (${displayParameters.excel_view})
     $textutils.br($textutils.htmlEncode($!value.toString(), false))
   #else
     $!value.toString()
   #end
 &lt;/a&gt;
 #end

Still, if you already have the field added, you will have to change its type inside the database, table is named customfields.

Suggest an answer

Log in or Sign up to answer