How to create a read-only "summary" version of a field, for display in space-constrained places like gadgets or search results.
Over-large fields
Some fields contain a lot of info. For instance, a Checklist for JIRA field (from our Checkboxes Plugin comparison):
When displayed as a filter column it looks passable:
but within the Structure plugin's table it breaks completely:
Creating a summary field
What we want is a summarized view of a field, suitable for viewing in space-constrained places such as our Structure table, or a dashboard portlet.
The Script Runner plugin is excellent for this sort of thing. We define a new custom field, Milestone Status, of type Scripted Field
:
Our new Milestone Status summary field will look like this:
It is intended to display well in Structure table rows:
The Milestone Status custom field's output is defined by the following Groovy code:
import com.atlassian.jira.component.ComponentAccessor import org.apache.commons.lang.StringEscapeUtils def shortname(name) { switch (name) { case ~/Overview.*/: "Doc"; break case ~/.*User Stories.*/: "Stories"; break case ~/UX.*/: "UX"; break case ~/.*Tech Spec.*/: "Tech Spec"; break case ~/.*shirt.*/: "T-Shirt"; break case ~/.*prints.*/: "Sprints Scheduled"; break default: name; } } cf = ComponentAccessor.customFieldManager.getCustomFieldObject(13803) return issue.getCustomFieldValue(cf).collect { i-> "<span style='color: " + (i.checked ? "red" : "grey") + "' " + "title='" + StringEscapeUtils.escapeHtml(i.name) + "'>" + (i.checked ? "☑" : "☐") + " " + StringEscapeUtils.escapeHtml(shortname(i.name)) + "</span>" ; }.join(" ")