This article explains how to use one custom field in Rally to map multiple QC Projects into multiple Rally Projects (in the same Workspace).
This task is accomplished by using one XML configuration for each Rally/QC Project pair.
Rally'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 Rally 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 Rally Workspace to multiple QC Projects (described below) will only work if the Projects within this Rally Workspace mirror the QC Projects. For example, if there are ten unique QC Domain/Project pairs, there must be ten Rally Projects within the Workspace, and the Rally stories intended for copy and update service from Rally to QC are distributed across Rally Projects accordingly.
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 Rally UserStories.
There are two Rally Projects in same Workspace, named Team1 and Team2:
Here is the single custom field (of type String) created in this Rally Workspace, which will contain the ExternalID of the corresponding QC Requirements:
Two separate XML configuration files are required to map to two separate QC Projects.
Here is the <RallyConnection> section of first XML configuration file:
Here is the <RallyConnection> section of second XML configuration file:
Next, two UserStories were created, one in Team1 the other in Team2.
After those stories were successfully copied from Rally 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>
NOTES:
01) If the Rally Projects have spaces in their names, wrap them in double quotes, as in:
02) However, there is no need for double quotes in the <Project> tag:
03) The <RallyReferenceFieldHandler> XML element is required:
04) The COPY service must precede the UPDATE service as in the example below: