I am trying to create insight object and I know only the ObjectTypeId. Is it possible to do it? I tried using MutableObjectBean but it didn't work like below
Creating an object is a lot more complicated than that.
And you'll need to know the name of the attribute to set the label to (typically Name).
Here is the simplest code I can figure out to create an object with a single required field.
import com.atlassian.jira.component.ComponentAccessorimport com.riadalabs.jira.plugins.insight.channel.external.api.facade.ObjectFacadeimport com.riadalabs.jira.plugins.insight.channel.external.api.facade.ObjectTypeAttributeFacadeimport com.riadalabs.jira.plugins.insight.channel.external.api.facade.ObjectTypeFacadeimport com.riadalabs.jira.plugins.insight.services.model.MutableObjectBeanObjectFacade objectFacade = ComponentAccessor.getOSGiComponentInstanceOfType(ObjectFacade)ObjectTypeFacade objectTypeFacade = ComponentAccessor.getOSGiComponentInstanceOfType(ObjectTypeFacade)ObjectTypeAttributeFacade objectTypeAttributeFacade = ComponentAccessor.getOSGiComponentInstanceOfType(ObjectTypeAttributeFacade)def objectTypeId = 5def labelValue = 'Test Object'def attributeNameForLabel = 'Name'def objectType = objectTypeFacade.loadObjectType(objectTypeId)def object = objectType.createMutableObjectBean()def objectTypeAttributes = objectTypeAttributeFacade.findObjectTypeAttributeBeans(objectType.id)def nameAttr = objectTypeAttributes.find { it.name == attributeNameForLabel }def nameAttributeValuesHolder = object.createObjectAttributeBean(nameAttr)def attributeValue = nameAttributeValuesHolder.createObjectAttributeValueBean()attributeValue.setTextValue(labelValue)nameAttributeValuesHolder.setObjectAttributeValueBeans([attributeValue])object.objectAttributeBeans = [nameAttributeValuesHolder]objectFacade.storeObjectBean(object)
As you can see that are several layers.
The object contains a list of attributes. Each attribute contains a list a attributeValue objects. Each attributeValue object contains the actual text value (or number or object reference etc depending on the type).
You must create all of those layers.
Thank you very much @PD Sheehan
It looks like you're new here. Sign in or register to get started.