It's all about the answers!

Ask a question

ClearQuest Connector: Problem synching reference value


Shelby Phillips (29624621) | asked Mar 09 '09, 10:32 a.m.
After mapping custom Defect fields in RTC to Defect fields in CQ (specifically those required on the submit form), we get an error when running the connector:

Outgoing at 3/9/09 9:24:06 AM CDT
Error occurred:
java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: Problem finding Users

The value "Users" should map to a REFERENCE value field in CQ named "ADT_Secutiry". This field is used to Access Control.

16 answers



permanent link
Shelby Phillips (29624621) | answered Mar 09 '09, 10:33 a.m.
XML below:

<xml>
<syncRule>
<name>com.acn.adt.clearquest.DefectTrackingInterop.ADTDefect</name>
<externalTypeName>com.ibm.rational.clearquest.ADT_Defect</externalTypeName>
<syncItemTypeName>WorkItem</syncItemTypeName>
<syncItemTypeNsURI>com.ibm.team.workitem</syncItemTypeNsURI>
<syncItemTypeQualifier>Type:com.acn.adt.workitem.type.adtdefect</syncItemTypeQualifier>
<itemManager>com.ibm.team.interop.service.managers.workitem.WorkItemManager</itemManager>
<externalManager>com.ibm.team.interop.service.managers.clearquest.CQExternalManager</externalManager>
<maxCycleCount>0</maxCycleCount>
<syncAllItemStates>false</syncAllItemStates>
<propertyMappings>
<propertyMapping>
<externalPropertyName>Adt_Security</externalPropertyName>
<itemPropertyName>attribute:string:com.acn.adt.attribute.security</itemPropertyName>
<incoming>false</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Project_Name</externalPropertyName>
<itemPropertyName>attribute:string:com.acn.adt.attribute.projectname</itemPropertyName>
<incoming>false</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Stage_Found</externalPropertyName>
<itemPropertyName>attribute:string:com.acn.adt.attribute.stagefound</itemPropertyName>
<incoming>false</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Release</externalPropertyName>
<itemPropertyName>attribute:string:com.acn.adt.attribute.release</itemPropertyName>
<incoming>false</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Description</externalPropertyName>
<itemPropertyName>Description</itemPropertyName>
<incoming>false</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>id</externalPropertyName>
<itemPropertyName></itemPropertyName>
<incoming>false</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>true</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Owner</externalPropertyName>
<itemPropertyName>attribute:string:com.acn.adt.attribute.user</itemPropertyName>
<incoming>false</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Headline</externalPropertyName>
<itemPropertyName>Summary</itemPropertyName>
<incoming>false</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Team_Name</externalPropertyName>
<itemPropertyName>attribute:string:com.acn.adt.attribute.teamname</itemPropertyName>
<incoming>false</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName></externalPropertyName>
<itemPropertyName>Id</itemPropertyName>
<incoming>false</incoming>
<outgoing>false</outgoing>
<itemIdentifier>true</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
</propertyMappings>
</syncRule>

permanent link
Lorelei Ngooi (1.5k22) | answered Mar 09 '09, 11:26 a.m.
JAZZ DEVELOPER
Based on the error message, it seems like there is a typo somewhere. "ADT_Secutiry" should probably be "ADT_Security".

Lorelei
Jazz CQ Connector Team

After mapping custom Defect fields in RTC to Defect fields in CQ (specifically those required on the submit form), we get an error when running the connector:

Outgoing at 3/9/09 9:24:06 AM CDT
Error occurred:
java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: Problem finding Users

The value "Users" should map to a REFERENCE value field in CQ named "ADT_Secutiry". This field is used to Access Control.

permanent link
Lorelei Ngooi (1.5k22) | answered Mar 09 '09, 11:35 a.m.
JAZZ DEVELOPER
Ignore my previous response. I confused your explanation of the error message with the actual error message.

Lorelei

permanent link
Richard Piazza (381) | answered Mar 09 '09, 12:25 p.m.
JAZZ DEVELOPER
I think we need more details about what you are trying to do, but here are several observations:

- You are correct, that you probably want a reference to "something" to be synced over from Jazz, but instead the jazz server was sending the string "Users".

- Which field in the sync rule does this error pertain to? You mentioned "ADT_Security", but that property mapping for that field doesn't include a reference sync rule, nor does the "Owner" property mapping.

- Assuming the "Owner" is defined in CQ as a reference field, it must be mapped to Jazz using a reference sync rule.

Rich Piazza
Jazz CQ Connector team

permanent link
Shelby Phillips (29624621) | answered Mar 09 '09, 2:35 p.m.
ADT_Security is a reference value, which may have been related to the error displayed. After following the article below, I am receiving new error messages in the Console, and in the client.

https://jazz.net/help/rational-team-concert/1.0.1/index.jsp?topic=/com.ibm.team.connector.cq.doc/topics/t_create_sync_rules.html


Client Error - These fields all have valid values, and are mapped in the synch rule. Not sure why this error is displayed. I was not receiving this previous.

Outgoing at 3/9/09 1:27:24 PM CDT
Error occurred:
java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: Unable to create record because of CQ errors:
CQ Error - Reason:
CRVAP0075E After completion of the 'CqAdapterPropPatch' operation, not all resources were delivered as requested.
CRVAP0358E Cannot deliver record 'cq.record:ADT_Defect/Q2DB00001012@FY09Q2_Dev_Raj/Q2DB' because some properties are missing or invalid.
CRVAP0342E The attempt to write or update the value of the property named 'CqRecord.ADT_RELEASE' failed with the message 'The field "Adt_Release" is mandatory; a value must be specified.'.
CRVAP0342E The attempt to write or update the value of the property named 'CqRecord.ADT_STAGE_FOUND' failed with the message 'The field "Adt_Stage_Found" is mandatory; a value must be specified.'.
CRVAP0342E The attempt to write or update the value of the property named 'CqRecord.ADT_TEAM_NAME' failed with the message 'The field "Adt_Team_Name" is mandatory; a value must be specified.'.


Console error:

Caused by: com.ibm.team.interop.client.rest.InteropClientException: CRJAZ0002I E
rror creating the item identified by collection "https://127.0.0.1:9445/jazz/ser
vice/com.ibm.team.repository.common.internal.IItemRestService/com.ibm.team.repos
itory/itemCol/com.ibm.team.interop.ExternalProxy?linkuri=CQ%253Acq.repo.cq-recor
d%253AAdt_ACL%252F33555336%2540FY09Q2_Dev_Raj%252FQ2DB&sync=true". Exception mes
sage: 'Synchronize with External Objects' failed. Permission denied.

permanent link
Lorelei Ngooi (1.5k22) | answered Mar 09 '09, 10:40 p.m.
JAZZ DEVELOPER
A couple of things:

1. What version of the CQ connector are you using?
2. Regarding the Synchronize with External Objects failed. Permission denied message, you need to enable the Item Connectors -> Synchronize with External Objects (server) permission for some role. Go to the Process Configuration tab page for your project area. Expand the Team Configuration and select Permissions. The easiest thing to do is to check the Item Connectors action for the Everyone (default) role. Or if you have a specific role for the CQ connector account, permit this action for that role.
3. Can you please include your modified sync rule. We would like to see the changes you've made.
4. Is there an order in how fields are expected to be set in the ADT_Defect record?
5. Please turn on logging on the jazz server and cq gateway so that we can see what values are being set, https://jazz.net/wiki/bin/view/Main/CQConnectorFAQ#How_do_I_view_or_turn_on_logging.

Lorelei

permanent link
Richard Piazza (381) | answered Mar 10 '09, 9:51 a.m.
JAZZ DEVELOPER

4. Is there an order in how fields are expected to be set in the ADT_Defect record?
Lorelei


This is probably the source of your problem. When you have hooks that can change the value of a field based on the value of another field, you need to enter the dependencies between the fields so that they are set in the correct order.

The CQ Designer enables you to specify this information. The CQ Connector will use this information to make sure that the fields are assigned in that order.

To set up these dependencies, go into the designer, select the record type (probably ADT_Defect). Open up the Forms view. On each form (often there are two - one for submitting and one for modification), click right on the widget that represents a field. On the properties tab "Web Dependencies", you can specify the children fields that depend on this field. Notice, that this seems to only work for drop-down fields.

Rich
Jazz CQ Connector

permanent link
Shelby Phillips (29624621) | answered Mar 10 '09, 10:38 a.m.

1. What version of the CQ connector are you using? Lorelei


How do I confirm this?


2. Regarding the Synchronize with External Objects failed. Permission denied message, you need to enable the Item Connectors -> Synchronize with External Objects (server) permission for some role. Go to the Process Configuration tab page for your project area. Expand the Team Configuration and select Permissions. The easiest thing to do is to check the Item Connectors action for the Everyone (default) role. Or if you have a specific role for the CQ connector account, permit this action for that role.


Does the user need to be assigned as a Member of the Project Area, or is "Administrators" sufficient? Do they need to be a member of a Team Area?


3. Can you please include your modified sync rule. We would like to see the changes you've made.


Is there a way to attach artifacts, or will I need to paste?


4. Is there an order in how fields are expected to be set in the ADT_Defect record?


I believe so. Is there a specific way to force the Connector to synch in a ordered fashion? I see that Rich provided steps to confirm this in CQ Designer, but how do we enforce this in the connector?


5. Please turn on logging on the jazz server and cq gateway so that we can see what values are being set, https://jazz.net/wiki/bin/view/Main/CQConnectorFAQ#How_do_I_view_or_turn_on_logging.


Will do.

permanent link
Shelby Phillips (29624621) | answered Mar 10 '09, 10:53 a.m.
Error Message


10 Mar 2009 09:51:56,149 DEBUG com.ibm.rational.interop.level1 - Creating ADT_Defect using TeamAPI (source: _hZYsgApwEd67K6FZ3qTuuQ)
10 Mar 2009 09:51:57,060 DEBUG com.ibm.rational.interop.level1 - Suppressing CQ%3Acq.repo.cq-record%3AADT_Defect%2F33555530%40FY09Q2_Dev_Raj%2FQ2DB from _hZYsgApwEd67K6FZ3qTuuQ
10 Mar 2009 09:51:57,600 DEBUG com.ibm.rational.interop.level1 - Reverted cq.record:ADT_Defect/Q2DB00001098@FY09Q2_Dev_Raj/Q2DB using TeamAPI
10 Mar 2009 09:51:57,600 DEBUG com.ibm.rational.interop.level1 - ERException
com.ibm.team.interop.service.managers.clearquest.common.InteropException: Unable to create record because of CQ errors:
CQ Error - Reason:
CRVAP0075E After completion of the 'CqAdapterPropPatch' operation, not all resources were delivered as requested.
CRVAP0358E Cannot deliver record 'cq.record:ADT_Defect/Q2DB00001098@FY09Q2_Dev_Raj/Q2DB' because some properties are missing or invalid.
CRVAP0342E The attempt to write or update the value of the property named 'CqRecord.ADT_PROJECT_NAME' failed with the message 'The field "Adt_Project_Name" is mandatory; a value must be specified.'.
CRVAP0342E The attempt to write or update the value of the property named 'CqRecord.ADT_RELEASE' failed with the message 'The field "Adt_Release" is mandatory; a value must be specified.'.
CRVAP0342E The attempt to write or update the value of the property named 'CqRecord.ADT_SECURITY' failed with the message 'The field "Adt_Security" is mandatory; a value must be specified.'.
CRVAP0342E The attempt to write or update the value of the property named 'CqRecord.ADT_STAGE_FOUND' failed with the message 'The field "Adt_Stage_Found" is mandatory; a value must be specified.'.
CRVAP0342E The attempt to write or update the value of the property named 'CqRecord.ADT_TEAM_NAME' failed with the message 'The field "Adt_Team_Name" is mandatory; a value must be specified.'.

at com.ibm.rational.connector.cq.common.cqgateway.CQInteropEventHandler.handleCreateEvent(CQInteropEventHandler.java:223)
at com.ibm.rational.connector.cq.common.cqgateway.CQGateway.create(CQGateway.java:107)
at com.ibm.rational.connector.cq.gateway.servlet.InteropOperationInvoker.invoke(InteropOperationInvoker.java:45)
at com.ibm.rational.connector.cq.gateway.servlet.InteropServlet.doPostInteropOperation(InteropServlet.java:57)
at com.ibm.rational.connector.cq.gateway.servlet.InteropServlet.doPost(InteropServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:810)

permanent link
John Vasta (2.6k15) | answered Mar 10 '09, 3:59 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Regarding your question about permissions,



2. Regarding the Synchronize with External Objects failed. Permission denied message, you need to enable the Item Connectors -> Synchronize with External Objects (server) permission for some role. Go to the Process Configuration tab page for your project area. Expand the Team Configuration and select Permissions. The easiest thing to do is to check the Item Connectors action for the Everyone (default) role. Or if you have a specific role for the CQ connector account, permit this action for that role.


Does the user need to be assigned as a Member of the Project Area, or is "Administrators" sufficient? Do they need to be a member of a Team Area?


The CQ Connector user account should be made a member of your project area, and assigned a role that you grant the "Synchronize with External Objects" permissions to (if you don't want to grant that permission to Everyone).

John
Jazz ClearQuest Connector Team

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.