It's all about the answers!

Ask a question

CQ connector - got an error


Gary Dang (59328855) | asked Mar 19 '08, 5:37 p.m.
Just installed 0.6M5a and trying to use the connector. When I create a CQ record, I am seeing this error in the gateway. I think I probably missed a step in the config. Any idea? By the way, the mapping seems to indicate it is talking to CQ because it displays the CQ fields, etc.

INFO: Server startup in 6509 ms
Got an InteropException: No CQRepository created for null

14 answers



permanent link
Richard Piazza (381) | answered Mar 19 '08, 7:21 p.m.
JAZZ DEVELOPER
Just installed 0.6M5a and trying to use the connector. When I create a CQ record, I am seeing this error in the gateway. I think I probably missed a step in the config. Any idea? By the way, the mapping seems to indicate it is talking to CQ because it displays the CQ fields, etc.

INFO: Server startup in 6509 ms
Got an InteropException: No CQRepository created for null


In M5 we introduced the concept of an ExternalRepositoryConnection. This removed the specification of the gateway and the cq db set / db name from the process spec. The name of the cq db set / db name is now in the cqconnector.properties file.

Additionally, your sync rules must reference this external connection.

Rich Piazza
Jazz CQ Connector Team

permanent link
Gary Dang (59328855) | answered Mar 20 '08, 3:30 p.m.
Looks like the CQconnector is picking up the create record event in CQ but I am seeing INCOMING SYNC error on the RTC side. When I look at the synchronization status and say the raw data for reference values table, I see the external property and external value but the item values for item properties that I am mapping are blank. Here is the error

Incoming at 3/20/08 2:25:34 PM CDT
Error occurred:
java.lang.IllegalArgumentException: invalid UUID

permanent link
John Vasta (2.6k15) | answered Mar 20 '08, 5:44 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Looks like the CQconnector is picking up the create record event in CQ but I am seeing INCOMING SYNC error on the RTC side. When I look at the synchronization status and say the raw data for reference values table, I see the external property and external value but the item values for item properties that I am mapping are blank. Here is the error

Incoming at 3/20/08 2:25:34 PM CDT
Error occurred:
java.lang.IllegalArgumentException: invalid UUID


This looks like a sync rule problem. I think you're mapping a string-valued field in CQ to a work item property whose value is a reference to another Jazz object. What field of your CQ record would have the value "demoM5a", and what work item property is that field mapped to?

John
Jazz CQ Connector Team

permanent link
Gary Dang (59328855) | answered Mar 20 '08, 6:50 p.m.
John, I re-imported the sync rule from the previous build instance and it is working now.

By the way, should store the CQ ID to the tags field or in a new custom field\?

permanent link
Gary Dang (59328855) | answered Mar 20 '08, 6:56 p.m.
John, I am having following not meaningful outgoing error:

Outgoing at 3/20/08 5:54:58 PM CDT
Error occurred:
java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: java.lang.NullPointerException

permanent link
Gary Dang (59328855) | answered Mar 20 '08, 7:14 p.m.
John, I have a record type in CQ that has owner as a reference list. The data in this field doesn't seem to come over to the workitem owner field.

Also, if the user exists in CQ but not in RTC, shouldn't the user get created automatically in RTC after the sync or vice versa?

permanent link
Lorelei Ngooi (1.5k22) | answered Mar 21 '08, 9:20 a.m.
JAZZ DEVELOPER
Gary,

Since the work item owner field has a single reference value, it can't be mapped to a CQ field that is a reference list.

Lorelei
Jazz CQ Connector Team

permanent link
Lorelei Ngooi (1.5k22) | answered Mar 21 '08, 9:32 a.m.
JAZZ DEVELOPER
Gary,

I agree with your assessment of the outgoing error message. I filed the work item 47977 - NullPointerException during outgoing sync. Can you attach your sync rules so we can investigate this?

Lorelei

permanent link
Lorelei Ngooi (1.5k22) | answered Mar 21 '08, 10:53 a.m.
JAZZ DEVELOPER
Regarding the CQ ID property, are you referring to the property mapping in the sample work item sync rule? If so, then this is mapped to a Jazz custom string attribute. If you are not referring to the sample sync rule, then you could map it to any Jazz work item string-valued property or to a string custom attribute.

Lorelei

permanent link
Gary Dang (59328855) | answered Mar 21 '08, 3:34 p.m.
What do I need to do to resolve the outgoing sync error? It seems no outgoing sync is working.



Here is the rule for the custom record type (ADT_Issue)

<?xml version="1.0" encoding="UTF-8"?>
<syncRule>
<name>com.accenture.clearquest.IDC70.ADT_Issue</name>
<externalTypeName>com.ibm.rational.clearquest.IDC70.ADT_Issue</externalTypeName>
<syncItemTypeName>WorkItem</syncItemTypeName>
<syncItemTypeNsURI>com.ibm.team.workitem</syncItemTypeNsURI>
<itemManager>com.ibm.team.interop.service.managers.workitem.WorkItemManager</itemManager>
<externalManager>com.ibm.team.interop.service.managers.clearquest.CQExternalManager</externalManager>
<maxCycleCount>10</maxCycleCount>
<syncAllItemStates>true</syncAllItemStates>
<propertyMappings>
<propertyMapping>
<externalPropertyName>Adt_Project_Name</externalPropertyName>
<itemPropertyName>Category</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
<transformExtension>com.ibm.team.interop.service.managers.workitem.CategoryValueTransformer</transformExtension>
<valueMappings>
<valueMapping>
<externalValue>adtarch_test</externalValue>
<itemValue>adtarch_test</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
</valueMappings>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Description</externalPropertyName>
<itemPropertyName>Description</itemPropertyName>
<incoming>true</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Owners</externalPropertyName>
<itemPropertyName>Owner</itemPropertyName>
<incoming>true</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
<referenceSyncRule>com.accenture.clearquest.IDC70.users</referenceSyncRule>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Priority</externalPropertyName>
<itemPropertyName>Priority</itemPropertyName>
<incoming>true</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
<valueMappings>
<valueMapping>
<externalValue>High</externalValue>
<itemValue>High</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
<valueMapping>
<externalValue>Medium</externalValue>
<itemValue>Medium</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
<valueMapping>
<externalValue>Low</externalValue>
<itemValue>Low</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
</valueMappings>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Short_Description</externalPropertyName>
<itemPropertyName>Summary</itemPropertyName>
<incoming>true</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
</propertyMapping>
<propertyMapping>
<externalPropertyName>id</externalPropertyName>
<itemPropertyName>Tags</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>true</itemIdentifier>
<externalIdentifier>true</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
</propertyMapping>
<propertyMapping>
<externalPropertyName/>
<itemPropertyName>Type</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
<valueMappings>
<valueMapping>
<externalValue/>
<itemValue>ADT_Issue</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
</valueMappings>
</propertyMapping>
</propertyMappings>
</syncRule>


Here is the users sync rule:
<?xml version="1.0" encoding="UTF-8"?>
<syncRule>
<name>com.accenture.clearquest.IDC70.users</name>
<externalTypeName>com.ibm.rational.clearquest.IDC70.users</externalTypeName>
<syncItemTypeName>Contributor</syncItemTypeName>
<syncItemTypeNsURI>com.ibm.team.repository</syncItemTypeNsURI>
<itemManager>com.ibm.team.interop.service.managers.kernel.ContributorManager</itemManager>
<externalManager>com.ibm.team.interop.service.managers.clearquest.CQExternalManagerForUser</externalManager>
<maxCycleCount>0</maxCycleCount>
<syncAllItemStates>false</syncAllItemStates>
<propertyMappings>
<propertyMapping>
<externalPropertyName>fullname</externalPropertyName>
<itemPropertyName>Name</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
</propertyMapping>
<propertyMapping>
<externalPropertyName>login_name</externalPropertyName>
<itemPropertyName>UserId</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>true</itemIdentifier>
<externalIdentifier>true</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
</propertyMapping>
</propertyMappings>
</syncRule>

Here is the project property sync rule

<?xml version="1.0" encoding="UTF-8"?>
<syncRule>
<name>com.ibm.rational.clearquest.IDC70.ADT_Project_Properties</name>
<externalTypeName>com.ibm.rational.clearquest.IDC70.ADT_Project_Properties</externalTypeName>
<syncItemTypeName>Category</syncItemTypeName>
<syncItemTypeNsURI>com.ibm.team.workitem</syncItemTypeNsURI>
<itemManager>com.ibm.team.interop.service.managers.workitem.CategoryManager</itemManager>
<externalManager>com.ibm.team.interop.service.managers.clearquest.CQExternalManager</externalManager>
<maxCycleCount>10</maxCycleCount>
<syncAllItemStates>false</syncAllItemStates>
<propertyMappings>
<propertyMapping>
<externalPropertyName>Adt_Project_Name</externalPropertyName>
<itemPropertyName>Name</itemPropertyName>
<incoming>true</incoming>
<outgoing>true</outgoing>
<itemIdentifier>true</itemIdentifier>
<externalIdentifier>true</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties/>
<requiredExternalProperties/>
</propertyMapping>
</propertyMappings>
</syncRule>

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.