Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Web Panel with a custom field value

Sérgio Mendes December 16, 2019

Hi everyone,

I'm trying to build a script that shows a value of a custom field in a web panel, so far without success. 

Can you give me a help?

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.RendererManager

def issue = context.issue as Issue

def rendererManager = ComponentAccessor.getComponent(RendererManager)
def cfm = ComponentAccessor.customFieldManager.getCustomFieldObject("WBS") as String

def fieldLayoutItem = ComponentAccessor.getFieldLayoutManager().getFieldLayout(issue).getFieldLayoutItem("WBS")
def renderer = rendererManager.getRendererForField(fieldLayoutItem)


if (issue) {
writer.write(renderer.render("${cfm}", null))

}else {
return
}

 

1 answer

0 votes
Sérgio Mendes December 18, 2019

For anyone searching, here is the solution:

 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.RendererManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField

def issue = context.issue as Issue

def rendererManager = ComponentAccessor.getComponent(RendererManager)
def fieldLayoutItem = ComponentAccessor.getFieldLayoutManager().getFieldLayout(issue).getFieldLayoutItem("WBS")
def renderer = rendererManager.getRendererForField(fieldLayoutItem)

def issueManager = ComponentAccessor.getIssueManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cField = customFieldManager.getCustomFieldObject("customfield_14572")
def cFieldValue = issue.getCustomFieldValue(cField)

if (cFieldValue) {
writer.write(renderer.render("Resolution Time: " + cFieldValue, null))
}

Suggest an answer

Log in or Sign up to answer