QC Connector: Map one CA Agile Central Workspace to multiple QC Projects

Document ID : KB000047761
Last Modified Date : 14/02/2018
Show Technical Document Details

Summary

This article explains how to use one custom field in CA Agile Central to map multiple QC Projects into multiple CA Agile Central Projects (in the same Workspace).

Issue

This task is accomplished by using one XML configuration for each CA Agile Central/QC Project pair.

CA Agile Central's QC connector has an UPDATE_RALLY_TO_QC service, and this service is Workspace scoped (i.e. not Project scoped).?This was done by design in order to ensure that even when CA Agile Central artifacts are moved within the same Workspace (i.e. from Project to another), the connector will still find modified artifacts.

This method of mapping one CA Agile Central Workspace to multiple QC Projects (described below) will only work if the Projects within this CA Agile Central Workspace mirror the QC Projects. ?For example, if there are ten unique QC Domain/Project pairs, there must be ten CA Agile Central Projects within the Workspace, and the CA Agile Central stories intended for copy and update service from CA Agile Central to QC are distributed across CA Agile Central Projects accordingly.

Resolution

In the example below, there are two QC Projects: NICKPROJ1 and NICKPROJ2. Note that even though the two QC custom fields are named identically, they are different fields as they are in different QC Projects.

Here is a screenshot of the custom field created in QC Project named NICKPROJ1 (the ExternalID field), and it will be used to contain the unique ObjectID (OID) of the corresponding CA Agile Central UserStories:

User-added image

Here is a screenshot of the custom field created in QC project named NICKPROJ2, which will contain the unique ObjectID (OID) of the corresponding CA Agile Central UserStories:

User-added image

There are two CA Agile Central Projects in same Workspace, named Team1 and Team2:

User-added image

Here is the single custom field?(of type String)?created in this CA Agile Central Workspace, which will contain the ExternalID of the corresponding QC Requirements:

User-added image

Two separate XML configuration files are required to map to two separate QC Projects.

Here is the <RallyConnection> section of first?XML configuration file:
<config>
??? <RallyConnection>
??? <Url>rally1.rallydev.com</Url>
??? <WorkspaceName>NMQC11</WorkspaceName>
??? <Projects>
? ? ? ??<Project>Team1</Project>
???? </Projects>
??? <User>user@company.com</User>
??? <Password>encoded-U-m-F-s-b-H-k-y-M-D-=-=-</Password>
??? <ArtifactType>HierarchicalRequirement</ArtifactType>
??? <ExternalIDField>QCReqID</ExternalIDField>
??? <UpdateSelectors>
? ? ? ??<UpdateSelector>Project.Name = Team1</UpdateSelector>
? ? </UpdateSelectors>
</RallyConnection>

Here is the <RallyConnection> section of second XML configuration file:
<config>
??? <RallyConnection>
??? <Url>rally1.rallydev.com</Url>
??? <WorkspaceName>NMQC11</WorkspaceName>
??? <Projects>
?????? <Project>Team2</Project>
???? </Projects>
??? <User>user@company.com</User>
??? <Password>encoded-U-m-F-s-b-H-k-y-M-D-=-=-</Password>
??? <ArtifactType>HierarchicalRequirement</ArtifactType>
??? <ExternalIDField>QCReqID</ExternalIDField>
??? <UpdateSelectors>
?????? <UpdateSelector>Project.Name = Team2</UpdateSelector>
???? </UpdateSelectors>
???? </RallyConnection>


Next, two UserStories were created, one in Team1 the other in Team2:

User-added image

After those stories were successfully copied from CA Agile Central to QC, children were added to those stories, and the UserStory hierarchy was successfully mirrored in QC because the <PostServiceAction> tag was included in the XML configuration files:

<PostServiceActions>
? ? <MirrorStoryHierarchyInQC/>
</PostServiceActions>


Here is the final screenshot in CA Agile Central showing the ExternalID field (QCReqID) successfully populated with the IDs of their corresponding QC Requirements:

User-added image

Here are screenshots for the two QC Projects, NICKPROJ2 (listed first) and NICKPROJ1 (listed second):

User-added image



User-added image

NOTES:
01) If the CA Agile Central Projects have spaces in their names, wrap them in double quotes, as in:
?
<UpdateSelectors>
??? <UpdateSelector>Project.Name = "Team 1"</UpdateSelector>
</UpdateSelectors>

02) However, there is no need for double quotes in the <Project> tag:
?
<Project>Team 1</Project>

03) The <RallyReferenceFieldHandler> XML element is required:
?
<RallyFieldHandlers>
? ? <RallyReferenceFieldHandler>
? ? ? ? <FieldName>Project</FieldName>
? ? ? ? <ReferencedFieldLookupID>Name</ReferencedFieldLookupID>
? ? </RallyReferenceFieldHandler>
</RallyFieldHandlers>

04) The COPY service must precede the UPDATE service as in the example below:
<Services>COPY_QC_TO_RALLY, ?COPY_RALLY_TO_QC, ?UPDATE_RALLY_TO_QC, UPDATE_QC_TO_RALLY</Services>


?