How to access Insight object attributes in Script listener

Magnus Gustin December 18, 2017

In an Insight groovy script post function you can access Insight-objects and their attributes with this kind of syntax;

import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.fields.CustomField;

Class objectFacadeClass = ComponentAccessor.getPluginAccessor().getClassLoader().findClass("com.riadalabs.jira.plugins.insight.channel.external.api.facade.ObjectFacade")
def objectFacade = ComponentAccessor.getOSGiComponentInstanceOfType(objectFacadeClass)
def cfManager = ComponentAccessor.getCustomFieldManager()

CustomField myCF = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10235) // id of custom field
def myValue = myCF.getValue(issue)
def myObjectBean = myValue[0]
def myAttrValue = objectFacade.loadObjectAttributeBean(myObjectBean.getId(), 517).getObjectAttributeValueBeans()[0]; //attribute id
def myString = myAttrValue.getValue()

 

I can't this kind of code to work in a  Script runner event listener.

My idea is to update an issue in a script listener using attribute values from Insight Custom fields.

Any ideas how to do this?

1 answer

0 votes
Alexander Sundström
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.
December 19, 2017

Hi Magnus,

What is it that is not working, what kind of exceptions do you get?

Looking at the code, one possible nullpointer is the issue variable. I know that in Insight, this variable is preloaded with the current issue, I guess that is the same for Script runner, but not sure.

Best Regards
Alexander

Suggest an answer

Log in or Sign up to answer