Hello there.
I am just reusing my working script, with the difference then before I used in Jira based of CF.
Now I want to search for a object via IQL facade a iterate over the results.
Here is the code:
import com.riadalabs.jira.plugins.insight.services.model.ObjectAttributeBean
import com.riadalabs.jira.plugins.insight.services.model.ObjectAttributeValueBean
import com.riadalabs.jira.plugins.insight.services.model.MutableObjectAttributeBean
import com.riadalabs.jira.plugins.insight.services.model.MutableObjectBean
import com.atlassian.jira.component.ComponentAccessor
Class iqlFacadeClass = ComponentAccessor.getPluginAccessor().getClassLoader().findClass("com.riadalabs.jira.plugins.insight.channel.external.api.facade.IQLFacade")
def iqlFacade = ComponentAccessor.getOSGiComponentInstanceOfType(iqlFacadeClass)
def objectFacade = ComponentAccessor.getOSGiComponentInstanceOfType(ComponentAccessor.getPluginAccessor().getClassLoader().findClass("com.riadalabs.jira.plugins.insight.channel.external.api.facade.ObjectFacade"));
def objectTypeAttributeFacade = ComponentAccessor.getOSGiComponentInstanceOfType(ComponentAccessor.getPluginAccessor().getClassLoader().findClass("com.riadalabs.jira.plugins.insight.channel.external.api.facade.ObjectTypeAttributeFacade"));
def objectAttributeBeanFactory = ComponentAccessor.getOSGiComponentInstanceOfType(ComponentAccessor.getPluginAccessor().getClassLoader().findClass("com.riadalabs.jira.plugins.insight.services.model.factory.ObjectAttributeBeanFactory"));
int person_uuid = 515
def uuid_att = objectTypeAttributeFacade.loadObjectTypeAttributeBean(person_uuid)
def mutableUuidAtt = uuid_att.createMutable()
def persons = iqlFacade.findObjectsByIQLAndSchema(3,"objectType = \"Kontaktní osoby\" AND UUID IS empty")
if (persons != [])
{
for (person in persons)
{
def uuid = UUID.randomUUID()
/* Create the new attribute bean based on the value */
def uuidBean = objectAttributeBeanFactory.createObjectAttributeBeanForObject(person, mutableUuidAtt, uuid)
/* Load the attribute bean */
def objectAttributeBean = objectFacade.loadObjectAttributeBean(uuid_att.getId())
if (objectAttributeBean != null) {
/* If attribute exist reuse the old id for the new attribute */
uuidBean.setId(objectAttributeBean.getId())
}
/* Store the object attribute into Insight. */
try {
uuid_att = objectFacade.storeObjectAttributeBean(uuidBean);
} catch (Exception vie) {
log.warn("Could not update object attribute due to validation exception:" + vie.getMessage());
}
}
}
and here is the error I cannot go thru.
groovy.lang.MissingMethodException: No signature of method: com.riadalabs.jira.plugins.insight.services.model.factory.ObjectAttributeBeanFactoryImpl.createObjectAttributeBeanForObject() is applicable for argument types: (com.riadalabs.jira.plugins.insight.services.model.ObjectBean, com.riadalabs.jira.plugins.insight.services.model.MutableObjectTypeAttributeBean...) values: [surname1, Josef (UATD-7998), ObjectTypeAttributeBean [id=515, name=UUID, type=DEFAULT, defaultType=TEXT], ...] Possible solutions: createObjectAttributeBeanForObject(com.riadalabs.jira.plugins.insight.services.model.ObjectBean, com.riadalabs.jira.plugins.insight.services.model.ObjectTypeAttributeBean, [Ljava.lang.String;), createObjectAttributeBeanForObject(com.riadalabs.jira.plugins.insight.services.model.ObjectBean, com.riadalabs.jira.plugins.insight.services.model.ObjectTypeAttributeBean, java.text.DateFormat, java.text.DateFormat, [Ljava.lang.String;)I tried numerous of changes in both object and object attribute with no success. This script is 100% working while hooked up to custom field, but now ... this :-/ any help? Thanks
Type error for UUID, createObjectAttributeBeanForObject expects last argument to be string or date format, not java.uuid.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.