Installation and User Guide for the
Rally
Connector for Micro Focus ALM/Quality Center

The
Rally
connector for Micro Focus ALM/Quality Center (formerly HP ALM) allows customers to use
Rally
for agile lifecycle management while still using Micro Focus ALM/Quality Center for management of defects, requirements, tests, and test runs. This connector is available to Unlimited Edition customers.
The HP ALM product has been rebranded as Micro Focus ALM/Quality Center. Throughout this document any reference to QC, Quality Center, or just ALM all refer to the same product.
The connector runs as a Ruby script on a computer behind your firewall that accesses
Rally
through the
Rally
Web Services API. The connector provides the ability to reflect work items between Micro Focus ALM/Quality Center and
Rally
and most fields between the two systems can be reflected. The connector does not support reflecting portfolio items. Reflection of work items generally involves matching the values of a small number of key fields between the two systems.
It does this by allowing you to:
  • Copy Micro Focus ALM/Quality Center defects in
    Rally
    as defects
  • Copy Micro Focus ALM/Quality Center requirements in
    Rally
    as user stories
  • Copy Micro Focus ALM/Quality Center tests in
    Rally
    as test cases
  • Update test runs from Micro Focus ALM/Quality Center to
    Rally
    test case result
The connector is configured through an XML file and a log file is created to track changes made in
Rally
and Micro Focus ALM/Quality Center by the connector. The connector requires a custom field in each system to store the unique ID of the linked objects in the other system. The connector copies fields to and from
Rally
or Micro Focus ALM/Quality Center based on the field mapping specified in the configuration file. You can map both standard and custom fields between the two systems.
The connector provides five services which affect the items being reflected between
Rally
and Micro Focus ALM/Quality Center:
  • Copy entities created in Micro Focus ALM/Quality Center to
    Rally
    work items
  • Copy work items created in
    Rally
    to Micro Focus ALM/Quality Center entities
  • Update
    Rally
    work items based on changes made to Micro Focus ALM/Quality Center entities
  • Update Micro Focus ALM/Quality Center entities based on changes made to
    Rally
    work items
  • Update
    Rally
    fields and Micro Focus ALM/Quality Center fields
The configuration file specifies which of the above services to run, and in which order.
An alternative update service, UPDATE_RALLYFIELDS_AND_OTHER, searches
Rally
first for updates and pushes only the recently changed, mapped fields to the Micro Focus ALM/Quality Center system. It then searches the Micro Focus ALM/Quality Center system for updates and when found, pushes all mapped fields into
Rally
. This reduces the chances of overwrites of data. The only scenario where an overwrite might occur is if User A made changes in
Rally
and User B made changes in the Micro Focus ALM/Quality Center system for the same fields. In this case, the
Rally
information is copied over to the Micro Focus ALM/Quality Center system (possibly overwriting the data in the Micro Focus ALM/Quality Center system), then all data is copied over to the
Rally
system.
It is important to recognize that the data models of
Rally
and Micro Focus ALM/Quality Center are not identical and as such, they are only partially compatible. We recommend that you take some time to identify the key data items you want to track in both systems and what you want the policy to be as far as having a primary system of record. There is specific information later in this document discussing some of the trade-offs to be considered and some potential approaches.
This installation and user guide includes:

Software Requirements

The following are the software requirements to install and run the
Rally
connector based on REST API for Micro Focus ALM/Quality Center 12.50:
  • Rally
    subscription
  • Windows, Linux, or Mac operating system
  • Micro Focus ALM/Quality Center 12.50
  • Ruby 2.2.6 installed
    • For Linux/Mac OS download .gz for ruby 2.2.6 (we recommend installing using
      rvm
      or
      rbenv
      ). Select the "Install Td/Tk support", "Add Ruby executables to your Path", and "Associate .rb and .rbw files with this Ruby installation" options when prompted.
    • For Windows OS download .exe for ruby 2.2.6 (x64) Select the "Install Td/Tk support", "Add Ruby executables to your Path", and "Associate .rb and .rbw files with this Ruby installation" options when prompted.
    • Add path to the ruby
      bin
      directory to environment path variable
  • Ruby Development Kit for Ruby 2.0 to 2.3 – Only necessary for Windows (download the DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe )
    • Add path to the devkit’s
      bin
      directory to environment path variable
    • cd
      to the Ruby DevKit root directory:
      • run command:
        ruby dk.rb init
      • run command:
        ruby dk.rb install

Hardware Requirements

You can install the connector several ways. There can be multiple install locations on the same machine that can run in parallel which determine the hardware required. We recommend the following guidelines:
  • Base hardware with a quad-core processor set and at least 8 GB RAM
  • No more than 20–25 configuration files per install location
  • Adequate disk storage capacity to store log files generated by the execution of the connector; 1 GB of free disk space is likely enough
  • If you add more install locations running in parallel, each installed location consumes up to 200 MB of RAM when running and less than 50 MB when idle
  • 200–250 MB of space per install location is recommended since the required hard drive space is minimal and needs to scale only with log files

Pre-Installation Checklist

  • Project and site administration access to a test environment of Micro Focus ALM/Quality Center.
  • Rally
    administrator privileges are needed for setup, but only user access is needed to run the connector.
  • Proxy server details if the machine used to run the connector uses a proxy server.
  • Consider the following:
    • The following people are involved in getting fields set up in both
      Rally
      and Micro Focus ALM/Quality Center:
      • A Micro Focus ALM/Quality Center administrator user who can create the Micro Focus ALM/Quality Center custom fields you want to reflect in
        Rally
        .
      • A
        Rally
        administrator user who can create the custom fields on the
        Rally
        artifact you want to reflect in Micro Focus ALM/Quality Center.
    • Consider the process you want to set up between
      Rally
      and Micro Focus ALM/Quality Center and add any of the custom fields you may need.
      • Where do objects start and end their lifecycle?
      • Which fields need updating?
    • Identify a test domain or project in Micro Focus ALM/Quality Center to use for testing the connector.
    • Identify a test
      Rally
      workspace or project to use for testing the connector.
(Optional) If your site uses a proxy server to access
Rally
, you will need to set the HTTP_PROXY environment variable to a value that follows this format:
http://username:[email protected]:port
set HTTP_PROXY=http://username:[email protected]:8000

Install the
Rally
Connector for Micro Focus ALM/Quality Center

Follow these steps:
  1. Download the connector by following the steps here.
  2. Extract the contents of the zip file
    RallyConnectorforHPALM-x.y.z-master-bbb.zip
    locally on your machine (such as
    C:\rally
    for Windows or
    /Users/username/Downloads/
    on a MAC).
  3. Change the directory to the root of the connector installation:
    cd RallyConnectorforHPALM-4.x.Y-master-z
  4. Set environment variable GEM_COMMAND to gem executable located in Ruby installation directory. Here are location examples on Linux and Windows, respectively:
    • /myhome/.rvm/rubies/ruby-2.2.6/bin/gem
    • C:\Ruby226\bin\gem
  5. As a result of unpacking of the distribution archive the following files and folders are created:
    • field_handlers
      — A folder for custom field handers
    • qc_config.xml
      — Sample configuration file for user stores and defects
    • qc_config_test.xml
      — Sample configuration file for test cases
    • qc_config_run.xml
      — Sample configuration file for test runs
    • install_gems.rb
      — Ruby script to install the necessary gems for this connector
    • rally2_hpalm_connector.rb
      — Executable to run the connector (located with the rallyeif-qc gem)
  6. Run the
    install_gems.rb
    Ruby script to get all associated gems installed.
    • To run the command, in a console or terminal window at the prompt, type the following:
      ruby install_gems.rb
Below is the sample output of
ruby install_gems.rb
command:
ruby install_gems.rb rubygems-update installed xml-simple installed httpclient installed multipart-post installed faraday installed mime-types installed rally_api installed rallyeif-wrk installed rally_hp_alm_api installed rallyeif-qc installed

Connector Setup

In Micro Focus ALM/Quality Center you must create an externalID field and a crosslink field.
Create an ExternalID User Field in Micro Focus ALM/Quality Center
In the Micro Focus ALM/Quality Center
Requirement Types
Admin menu, enable this new field for all requirement types. Select the
User Defined Fields
tab to add the new field to each requirement type. Learn more.
Follow these steps:
  1. Using the Micro Focus ALM/Quality Center Desktop Client, navigate to the appropriate domain and project.
  2. Near the upper-right of the page, select the gear icon and select the
    Customize
    menu item.
  3. On the left side of the page, select the
    Project Entities
    item.
  4. Expand Defect or Requirement in the list of project entities.
  5. Select the
    User Fields
    folder.
  6. Select the
    New Field
    icon (with the green plus symbol above the list of project entities).
  7. Provide a Field Label for the field, select
    Field Type
    as String with a 40-character limit and leave the default checkboxes for all other options.
  8. Select
    Save
    . A dialog should display that states
    The changes were saved successfully
    .
Create a Crosslink Field
It can be useful to have reference information in the Micro Focus ALM/Quality Center work item that will relate to the corresponding
Rally
artifact. The
<CrosslinkUrlField>
element in the
<QCConnection>
section of the configuration file allows you to specify the name of the custom field that will contain this reference (string).
  • We suggest a field name of RallyLink or RallyURL
  • Must be a string field
  • This field name is used in the
    <CrosslinkUrlField>
    element within the
    <QCConnection>
    section of the configuration file
  • This field only populates during a copy
  • This URL field is only supported on the Micro Focus ALM/Quality Center side
Follow these steps:
  1. On the Application Lifecycle Management – Project Customization page, select the
    Requirement Types
    on the left side.
  2. In the column where the the Requirement Types are listed, for each entry select the type name and then mark the checkbox under the
    In Type
    column for the field you added to the Requirement table.
  3. Select
    Save
    . A dialog should display that states
    The changes were saved successfully
    .

Rally
Setup for the Micro Focus ALM/Quality Center Connector

You need to create an externalID field in
Rally
. The update service is workspace scoped, meaning the connector searches for any artifact in
Rally
where the externalID field is not null. If you are mapping the same workspace to multiple Micro Focus ALM/Quality Center projects, having unique externalID fields is critical so that the connector updates the correct work item in Micro Focus ALM/Quality Center. Work item IDs are not unique across Micro Focus ALM/Quality Center projects.
Rally
accesses fields from their Display Name, not their Name. Spaces and underscores are removed, for example, Example Field becomes ExampleField.
Rally
does not support custom fields on test case results, so only complete this step for the hierarchical requirement, defect, and test case work item types.
You can choose a different name (such as QualityCenterID) for the custom field in
Rally
, but the name you choose must conform to these rules:
  • Begin with an uppercase letter
  • Less than 41 characters (40 is the maximum for display name)
  • No underscores, dashes, or spaces
If you will be using the
Rally
/ Micro Focus ALM/Quality Center Work Item connector with multiple
Rally
projects and multiple Micro Focus ALM/Quality Center projects in the same domain, we recommend that you use
<UpdateSelector>Project.Name = "Example Project"</UpdateSelector>
in the
<RallyConnection>
section of the configuration to avoid excessive warning messages where multiple Micro Focus ALM/Quality Center items may have the same ID across multiple Micro Focus ALM/Quality Center projects.
Follow these steps:
  1. Select
    Actions, New Field.
  2. Enter a Name of
    ExternalID
    , Display Name of
    ExternalID
    (name and display name must match), and type of
    String
    (Note: This field cannot be of type
    Text
    ). Make note of the name of this field. Once you start using the connector, this will contain the externalID of the Micro Focus ALM/Quality Center entity you are mapping between the two systems.
  3. Log into
    Rally
    as a workspace or subscription administrator.
  4. Select the
    Setup
    setup icon from the
    Rally
    menu bar in the upper-right corner of the display.
  5. Select
    Workspaces & Projects
    .
  6. Select the workspace that you wish to map to Micro Focus ALM/Quality Center.
  7. On the workspace's detail page, select the
    Fields
    link in the sidebar and ensure the Work Item Type selected is Defect (or whatever work item you are mapping).

Rally
Connector for Micro Focus ALM/Quality Center Configuration

You can use the
Rally
connector for Micro Focus ALM/Quality Center in one of two ways:
  • Work Item mode – Copy and update user stories and defects between
    Rally
    and Micro Focus ALM/Quality Center.
  • Test mode – Copy and update Micro Focus ALM/Quality Center test and run artifacts to
    Rally
    test case and test case result artifacts.
Incrementally set up the connector! Start with a basic configuration file, test that you can connect to Micro Focus ALM/Quality Center and
Rally
in a test environment. Once you validate this is set up correctly, then start customizing the field mapping and field handler sections.
Work Item Mode
A configuration file is used to instruct the connector on which actions to perform. A sample configuration file was part of the delivered zip file and should be in the same directory where you extracted the Ruby gem. For Micro Focus ALM/Quality Center, the default configuration file has a name of
qc_config.xml
. We recommend making a backup copy of
qc_config.xml
and naming it something like
qc_config.xml-orig
or
qc_config-pristine.xml
in case you need to reference a valid configuration file later. You can give your configuration file any name of your choosing. For the purposes of this document, we retain the name of
qc_config.xml
.
Edit your configuration file (or the default
qc_config.xml
) and enter the appropriate values between each XML begin and end tag.
<Config> <RallyConnection> <Url>rally1.rallydev.com</Url> <WorkspaceName>Workspace Name</WorkspaceName> <Projects> <Project>Project Name 1</Project> </Projects> <User>[email protected]</User> <Password>password</Password> <!-- You can use an APIKey in place of User and Password tags --> <!-- <APIKey>YourAPIKeyValueGoesHere...</APIKey> --> <ArtifactType>Defect</ArtifactType> <ExternalIDField>ExternalID</ExternalIDField> <!-- <UpdateSelectors> <UpdateSelector>State = Open</UpdateSelector> <UpdateSelector>Priority = High</UpdateSelector> </UpdateSelectors> <FieldDefaults> <Field><Name>RootCause</Name><Default>Undefined</Default></Field> </FieldDefaults> --> </RallyConnection> <QCConnection> <Url>server:port</Url> <Domain>Domain Name</Domain> <Project>Project Name</Project> <User>qcusername</User> <Password>password</Password> <ArtifactType>BUG</ArtifactType> <!-- <CopySelectors> <CopySelector>BG_STATUS = Open</CopySelector> <CopySelector>BG_PRIORITY = High Attention</CopySelector> <CopySelector>RQ_REQ_NAME = (WebExample1 Or WebExample2) </CopySelector> </CopySelectors> --> <IDField>BG_BUG_ID</IDField> <ExternalIDField>BG_USER_XX</ExternalIDField> <ExternalEndUserIDField>BG_USER_YY</ExternalEndUserIDField> </QCConnection> <Connector> <FieldMapping> <Field><Rally>Name</Rally><Other>BG_SUMMARY</Other></Field> </FieldMapping> </Connector> <ConnectorRunner> <Preview>False</Preview> <LogLevel>Debug</LogLevel> <Services>UPDATE_RALLY_TO_QC, COPY_QC_TO_RALLY</Services> </ConnectorRunner> </Config>
Each major section is surrounded by a tag (called an XML element) to delineate that section. In the example above, here is a description of each section:
  • RallyConnection
    Defines the connection information for
    Rally
    , including
    Rally
    URL, username, and password or APIKey.
  • QCConnection
    Defines the connection information to Micro Focus ALM/Quality Center including domain name, project name, artifact type, user, and so on.
  • Connector
    Defines the field mapping between the two systems. Generally, strings should be mapped to strings, integers to integers, and so on.
  • ConnectorRunner
    Specifies parameters related to the services the connector is to run.
Test Mode
Integrations with test tracking applications allow team members to leverage their current test and defect infrastructure while using
Rally
for agile project management. You can integrate with Micro Focus ALM/Quality Center or you can write your own integration using the extensible Web Services API in your preferred development language.
The
Rally
Connector for Micro Focus ALM/Quality Center allows you to use
Rally
for Agile lifecycle management while still using Micro Focus ALM/Quality Center for management of tests and runs. The connector enables you to map:
  • Tests from Micro Focus ALM/Quality Center to the test cases in
    Rally
    (or from test cases in
    Rally
    to Micro Focus ALM/Quality Center tests)
  • Runs from Micro Focus ALM/Quality Center to the test case results in
    Rally
The following graphic depicts the recommended workflow when using Micro Focus ALM/Quality Center for test management:
QC to Rally workflow
The configuration file is part of the delivered zip file and should be in the same directory where you extracted the Ruby gem. For Micro Focus ALM/Quality Center tests and runs, the default configuration file has a name of
qc_config_test.xml
and
qc_config_run.xml
. Uninstalling the connector will permanently delete the default files shipped with the connector, so renaming or backing up these files is extremely important.
Follow these steps:
  1. Edit the test configuration file (such as the
    qc_config_test.xml
    ) by entering the appropriate values between each begin and end tag.
    <Config> <RallyConnection> <Url>rally1.rallydev.com</Url> <WorkspaceName>Workspace Name</WorkspaceName> <Projects> <Project>Project Name 1</Project> </Projects> <User>[email protected]</User> <Password>password</Password> <!-- You can use an APIKey in place of User and Password tags --> <!-- <APIKey>YourAPIKeyValueGoesHere...</APIKey> --> <ArtifactType>testcase</ArtifactType> <ExternalIDField>ExternalID</ExternalIDField> <!-- <CopySelectors> <CopySelector>State = Open</CopySelector> <CopySelector>Priority = High</CopySelector> </CopySelectors> --> </RallyConnection> <QCConnection> <Url>server:port</Url> <Domain>Domain Name</Domain> <Project>Project Name</Project> <User>qcusername</User> <Password>password</Password> <ArtifactType>TEST</ArtifactType> <TestFolder>MyTestFolder</TestFolder> <!-- <TestFolderID>MyTestFolderID</TestFolderID> Can be used in place of <TestFolder> --> <IDField>TS_TEST_ID</IDField> <ExternalIDField>TS_USER_xx</ExternalIDField> </QCConnection> <Connector> <FieldMapping> <Field><Rally>Name</Rally><Other>TS_NAME</Other></Field> </FieldMapping> </Connector> <ConnectorRunner> <Preview>False</Preview> <LogLevel>Debug</LogLevel> <Services>UPDATE_QC_TO_RALLY, COPY_QC_TO_RALLY</Services> </ConnectorRunner> </Config>
  2. Edit the run configuration file (such as the
    qc_config_run.xml
    ) by entering the appropriate values between each begin and end tag.
    <Config> <RallyTestResultConnection> <Url>rally1.rallydev.com</Url> <WorkspaceName>Workspace Name</WorkspaceName> <Projects> <Project>Project Name 1</Project> </Projects> <User>[email protected]</User> <Password>password</Password> <!-- You can use an APIKey in place of User and Password tags --> <!-- <APIKey>YourAPIKeyValueGoesHere...</APIKey> --> <ArtifactType>TestCaseResult</ArtifactType> </RallyTestResultConnection> <QCRunConnection> <Url>server:port</Url> <Domain>Domain Name</Domain> <Project>Project Name</Project> <User>qcusername</User> <Password>password</Password> <ArtifactType>RUN</ArtifactType> <TestFolder>MyTestRunFolder</TestFolder> <!-- <TestFolderID>MyTestFolderID</TestFolderID> Can be used in place of <TestFolder> --> <IDField>RN_RUN_ID</IDField> <ExternalIDField>RN_USER_xx</ExternalIDField> <!-- QC user field on TEST table that stores the unique id for the Rally work item --> <TestExternalIDField>TS_USER_xx</TestExternalIDField> <!-- By default, the connector will only "look back" 1 day for new QC Runs to be copied to Rally TestCaseResults (and associated with a Rally TestCase). Use the following XML tag to change the number of days to search. --> <RunDaysToSearch>2</RunDaysToSearch> </QCRunConnection> <Connector> <FieldMapping> <!-- The required 4 fields on a Rally TestCaseResult object: --> <Field><Rally>Date</Rally> <Other>RN_EXECUTION_DATE</Other> </Field> <Field><Rally>Build</Rally> <Other>RN_RUN_NAME</Other> </Field> <Field><Rally>TestCase</Rally> <Other>RN_TEST_ID</Other> </Field> <Field><Rally>Verdict</Rally> <Other>RN_STATUS</Other> </Field> </FieldMapping> <RallyFieldHandlers> <!-- Required field handler: Determines how to lookup the associated test in Rally --> <RallyReferenceFieldHandler> <FieldName>TestCase</FieldName> <!-- Custom field on Rally TestCase to store the unique id for linked QC test --> <ReferencedFieldLookupID>ExternalID</ReferencedFieldLookupID> </RallyReferenceFieldHandler> </RallyFieldHandlers> <OtherFieldHandlers> <!-- Required field handler which will convert a QC run date into a Rally date: --> <QCRunDateFieldHandler> <FieldName>RN_EXECUTION_DATE</FieldName> </QCRunDateFieldHandler> <OtherEnumFieldHandler> <FieldName>RN_STATUS</FieldName> <Mappings> <!-- Add additional mappings between Rally verdict and RN_STATUS --> <Field><Rally>Fail</Rally> <Other>Failed</Other></Field> <Field><Rally>Pass</Rally> <Other>Passed</Other></Field> </Mappings> </OtherEnumFieldHandler> </OtherFieldHandlers> </Connector> <ConnectorRunner> <Preview>False</Preview> <LogLevel>Debug</LogLevel> <!--- Only the COPY_QC_TO_RALLY service is supported for RUNs --> <Services>COPY_QC_TO_RALLY</Services> </ConnectorRunner> </Config>
Each major section is surrounded by a tag (called an XML element) to delineate that section. For the examples above, here is a description of each section:
<RallyConnection>
Defines the connection information for
Rally
, including
Rally
URL, username, and password or APIKey.
<RallyTestResultConnection>
Defines the connection information to
Rally
, including
Rally
URL, username, and password or APIKey. Supports
Rally
test results only.
<QCConnection>
Defines the connection information to Micro Focus ALM/Quality Center including domain name, project name, artifact type, user, and so on. Used when mapping bugs and requirements.
<QCRunConnection>
Defines the connection information to Micro Focus ALM/Quality Center. Used when mapping tests and more.
<Connector>
Defines the field mapping between the two systems. Generally, strings should be mapped to strings, integers to integers, and so on.
<ConnectorRunner>
Specifies parameters related to the services the connector is to run.
Field Mapping
The field mapping section is located within the
<Connector>
element in the configuration file. It defines which fields are to be mapped between the two systems.
For example, the following definition sets up a mapping between the
Rally
field Name with the field Headline in the other system. On a create or update, the connector will only update the Name field in
Rally
and the Headline field in the other system.
<Config> .... <Connector> <FieldMapping> <Field> <Rally>Name</Rally> <Other>Headline</Other> </Field> </FieldMapping> ....
When you set up your mapping between the two systems, ensure the fields are compatible between the two systems (an integer field should map to an integer field in the other system, a rich text should map to a rich text in the other system). Otherwise, you might experience situations where information is not created or updated between the two systems and you will see an error in the log file. For example, the connector will post an error for a particular work item if you try to post a string to a custom field of type integer in
Rally
.
You can add subsequent mappings by appending to this list. For example, this sets up a mapping of
Rally
Name to Micro Focus ALM/Quality Center Headline, and
Rally
Description to Micro Focus ALM/Quality Center Description, and
Rally
Priority to Micro Focus ALM/Quality Center Priority:
<Config> .... <Connector> <FieldMapping> <Field><Rally>Name</Rally> <Other>Headline</Other></Field> <Field><Rally>Description</Rally> <Other>Description</Other></Field> <Field><Rally>Priority</Rally> <Other>Priority</Other></Field> </FieldMapping> ....
If you are mapping a drop-down value in
Rally
to the other system, this assumes the drop-down values match. Otherwise, the connector generates an error that the value was not found in the list. If your drop-down values are different between the two systems, see Map Drop-Down Values.
Multi-select drop-down lists are not supported.
Individual fields may also have a directionality specified, whereby that specific field will be mapped in one direction only. For more information on this feature, see Field Directionality.
CopySelector and UpdateSelector
The FAQ has a section of general information about using
<CopySelector>
and
<UpdateSelector>
.
The Micro Focus ALM/Quality Center connector does not allow for multiple tests on the same field. It does support the same syntax which can be used within the Micro Focus ALM/Quality Center GUI, which allows for more complex testing. Here are a few examples of
<CopySelector>
in the
<QCConnection>
section of the configuration file:
<CopySelectors> <CopySelector>BG_USER_02 = Y</CopySelector> <CopySelector>BG_STATUS = (Not Closed And Not Fixed)</CopySelector> </CopySelectors>
<CopySelectors> <CopySelector>BG_USER_02 = Y</CopySelector> <CopySelector>BG_PROJECT = (Not "")</CopySelector> </CopySelectors>
<CopySelectors> <CopySelector>BG_USER_02 = Y</CopySelector> <CopySelector>BG_STATUS = (Open Or Reopen)</CopySelector> </CopySelectors>
<!-- To select QC Requirements 4 and 5 only: --> <CopySelectors> <CopySelector>RQ_REQ_ID = (>3 And <6)</CopySelector> </CopySelectors>
<CopySelectors> <CopySelector>BG_USER_03 = (Not (ABC or DDM))</CopySelector> </CopySelectors>
<CopySelectors> <CopySelector>BG_USER_03 = (Not ("ABC DEF" or "GHI JKL"))</CopySelector> </CopySelectors>
In addition to the existing Copy and Update Selectors, Micro Focus ALM/Quality Center REST connector supports selectors that allow subset and range operators using
in
,
!in
and
between
, and
!between
operators, respectively.
In
and
!in
operators are intended to select a subset of allowed values of drop-down fields, (for example, BG_STATUS in HPALM or State in
Rally
) or integer values (for example, BG_ESTIMATED_TIME in HPALM)
Here is an example of Copy and Update Selectors in the
<QCConnection>
section of a configuration file that limit a copy and update service from Micro Focus ALM/Quality Center to
Rally
to defects with BG_STATUS within a certain subset of allowed values:
<CopySelectors> <CopySelector>BG_STATUS in New,Open,Reopen</CopySelector> </CopySelectors>
<UpdateSelectors> <UpdateSelector>BG_STATUS in New,Open,Reopen</UpdateSelector> </UpdateSelectors>
In the following example, the defects are selected using
!in
operator. The returned subset is effectively the same as the subset of defects limited by
in
operator in the example above. Note that when using negation with drop-down fields that allow empty values, for example, BG_PRIORITY the subset of included work items will contain work items where this field is empty. If inclusion of those items is undesirable, the
in
operator should be preferred. Empty field values are not supported by subset selectors.
<CopySelectors> <CopySelector>BG_STATUS !in Fixed,Closed,Rejected</CopySelector> </CopySelectors>
<UpdateSelectors> <UpdateSelector>BG_STATUS !in Fixed,Closed,Rejected</UpdateSelector> </UpdateSelectors>
Multi-word values with spaces are allowed, as well as trailing spaces after a comma as in this example:
<CopySelectors> <CopySelector>RQ_REQ_PRIORITY in 3-High, 4-Very High, 5-Urgent</CopySelector> </CopySelectors>
Between
and
!between
operators select work items where a specific field falls within a certain range, where both ends of the range are included. The range selectors are intended to work with Date fields (for example, BG_DETECTION_DATE in Micro Focus ALM/Quality Center, CreationDate in
Rally
) or integer values (for example, BG_ESTIMATED_TIME in Micro Focus ALM/Quality Center)
Here is an example of Copy and Update Selectors in
<RallyConnection>
section of a configuration file that limit a copy and update service from
Rally
to Micro Focus ALM/Quality Center to stories created within a certain date range:
<CopySelectors> <CopySelector>CreationDate between 2016-07-05 and 2016-07-06</CopySelector> </CopySelectors>
<UpdateSelectors> <UpdateSelector>CreationDate between 2016-07-05 and 2016-07-06</UpdateSelector> </UpdateSelectors>
A variation of the range selector that uses
!between
operator will select only stories that were created on either side of the date range:
<CopySelectors> <CopySelector>CreationDate !between 2016-07-05 and 2016-07-06</CopySelector> </CopySelectors>
<UpdateSelectors> <UpdateSelector>CreationDate !between 2016-07-05 AND 2016-07-06</UpdateSelector> </UpdateSelectors>
Here is a CopySelector example for pulling artifacts with a specific
Rally
tag:
<CopySelectors> <CopySelector>Tags.Name = "Loritag1"</CopySelector> </CopySelectors>
Selectors and Requirements
If you want to use a requirements folder in the CopySelectors, you must surround your condition with ^ characters and you must enclose the whole expression in parentheses. You must also fully qualify the path to your requirements folder. See the example below.
If you are unfamiliar with how filters are defined and expressed in Micro Focus ALM/Quality Center, consider the following. In Micro Focus ALM/Quality Center, open the filter. Once you have expressed your conditions and the results are as you desired, then select the Copy Filter icon (the second from the left on the top of the Filter Requirements dialog). Paste this into a text buffer in your preferred editor. It should look similar to the text below.
[Filter][Keep_Hierarchical]{ TableName:REQ, ColumnName:RQ_FATHER_NAME, LogicalFilter:\0000001e\^Requirements\SubChannel\Basement^, VisualFilter:\0000001e\^Requirements\SubChannel\Basement^, NO_CASE: }
The parts that you need to be concerned with are the ColumnName, which in the example is RQ_FATHER_NAME and the LogicalFilter value. For the LogicalFilter you should copy the portion bounded by the up-caret symbols (^). Be sure to include the caret characters when you copy that portion.
In the
<CopySelector>
, use the RQ_FATHER_NAME as the field name and the portion of the LogicialFilter you copied as the value. Once you have that in the
<CopySelector>
, enclose the caret-delimited logical value in parenthesis. An example below illustrates the end product.
<Config> .... <QCConnection> .... <CopySelectors> <CopySelector>RQ_FATHER_NAME = (^Requirements\SubChannel\Basement^)</CopySelector> </CopySelectors> ....
Map Micro Focus ALM/Quality Center Markup Fields
Some fields in Micro Focus ALM/Quality Center contain rich text (basically html markup metadata) to achieve bolding, underlining, bulleting, and so on. This rich text is usually different between Micro Focus ALM/Quality Center and
Rally
. When copying these type of fields from
Rally
to Micro Focus ALM/Quality Center, the
<QCRtfFieldHandler>
can be used to instruct the connector to translate most of this metadata. This
<QCRtfFieldHandler>
can be used on mapping fields such as:
  • BG_DESCRIPTION
  • BG_DEV_COMMENTS
  • RQ_REQ_COMMENT
  • TS_DESCRIPTION
An example of mapping BG_DESCRIPTION:
<Config> .... <Connector> <FieldMapping> <Field><Rally>Description</Rally><Other>BG_DESCRIPTION</Other></Field> .... </FieldMapping> <OtherFieldHandlers> <QCRtfFieldHandler> <FieldName>BG_DESCRIPTION</FieldName> </QCRtfFieldHandler> .... </OtherFieldHandlers>
If mapping more than one field for the
<QCRtfFieldHandler>
split out the fields as follows:
<Config> .... <Connector> <FieldMapping> <Field><Rally>Description</Rally><Other>BG_DESCRIPTION</Other></Field> <Field><Rally>Notes</Rally><Other>BG_DEV_COMMENTS</Other></Field> .... </FieldMapping> <OtherFieldHandlers> <QCRtfFieldHandler> <FieldName>BG_DEV_COMMENTS</FieldName> </QCRtfFieldHandler> <QCRtfFieldHandler> <FieldName>BG_DESCRIPTION</FieldName> </QCRtfFieldHandler> .... </OtherFieldHandlers>
Map Micro Focus ALM/Quality Center Attachments
The Micro Focus ALM/Quality Center connector has two different methods for mapping attachments:
Method 1: Copy the Actual Micro Focus ALM/Quality Center Attachments to
Rally
as an Attachment
Copy actual attachments between
Rally
and Micro Focus ALM/Quality Center with the
<RallyAttachmentLinker/>
option in the configuration file as follows:
<Config> .... <Connector> .... <RelatedObjectLinkers> <RallyAttachmentLinker /> </RelatedObjectLinkers> ....
Rally
attachments are limited to 50 MB. If a Micro Focus ALM/Quality Center attachment is larger than 50 MB, it will not be copied from Micro Focus ALM/Quality Center to
Rally
. In such cases, you may use one of the methods below for mapping attachments, which creates a link (URL) in
Rally
that points to the attachment location in the Micro Focus ALM/Quality Center system (no attachment is created in the
Rally
system, just a URL). The
<RallyAttachmentLinker/>
supports bi-directional mapping between Micro Focus ALM/Quality Center and
Rally
. The URL mapping is supported in the Micro Focus ALM/Quality Center to
Rally
direction only.
If adding attachments, the user running the connector must have write access to all projects in the project hierarchy specified in the configuration file's
<Project>
tag under the
<RallyConnection>
section, all the way to the root project in
Rally
.
Method 2: Micro Focus ALM/Quality Center 12 - Create a URL Link
For Micro Focus ALM/Quality Center attachments to be accessible when viewing the corresponding artifact (story, defect, test) in
Rally
, you can create a URL in
Rally
which points back to the original attachment in the Micro Focus ALM/Quality Center system.
Micro Focus ALM/Quality Center 12 stores attachments in a collection of folders on the Micro Focus ALM/Quality Center server. It also offers a REST API which permits a straightforward and deterministic way of referencing those attachments as URL links.
  • The Micro Focus ALM/Quality Center connector supports this capability for the bug, requirement, and test items only.
  • Micro Focus ALM/Quality Center 12 users will need to enable Web Client for the User Groups to access the Attachments. To do this: Navigate to
    Tools, Customize, Groups and Permissions
    , and select Web client access option for the user group.
  • This mapping is only supported in the Micro Focus ALM/Quality Center 12 to
    Rally
    direction.
Micro Focus ALM/Quality Center supports client access from Microsoft Edge. The link to view attachments only works when using Microsoft Edge to access
Rally
.
To use this feature, create a custom field in
Rally
of type Text, which will be used to store the references (URL links) to the attachments (the custom field name in the example below is Micro Focus ALM/Quality Center 12 attachments). Then use the
<QCUrlAttachmentFieldHandler>
to handle mapping between Micro Focus ALM/Quality Center 12 and
Rally
as follows:
<Config> .... <Connector> <FieldMapping> <Field> <Rally>QCAttachmentsTextField</Rally> <Other>BG_ATTACHMENT</Other> <Direction>TO_RALLY</Direction> </Field> .... <OtherFieldHandlers> <QCUrlAttachmentFieldHandler> <FieldName>BG_ATTACHMENT</FieldName> </QCUrlAttachmentFieldHandler> ....
The QCUrlAttachmentFieldHandler stores links in the following format:
<a href='http://qcserver/qcbin/rest/domains/yourdomain/projects/ /yourproject/defects/44/attachments/YourAttachedFile.docx'>YourAttachedFile.docx</a>
Map Dates
Micro Focus ALM/Quality Center has a set of date fields for artifacts where the format is a string composed of a date, but equivalent fields in
Rally
may be in a string composed of date and time. There are two field handlers which facilitate this movement of date fields:
<QCDatetimeToDateFieldHandler>
and
<RallyDateTimeFieldHandler>
.
We recommend using this field handler for the following standard Micro Focus ALM/Quality Center mapping fields:
  • BG_CLOSING_DATE
  • BG_DETECTION_DATE
  • RQ_REQ_DATE
  • TS_CREATION_DATE
An example configuration file snippet for date mapping:
<Config> .... <Connector> <FieldMapping> <Field> <Rally>CreationDate</Rally> <Other>BG_DETECTION_DATE</Other> <Direction>TO_OTHER</Direction> </Field> .... <OtherFieldHandlers> <QCDatetimeToDateFieldHandler> <FieldName>BG_DETECTION_DATE</FieldName> </QCDatetimeToDateFieldHandler> ....
In
Rally
, the CreationDate is a read-only field. It is on an artifact, put there by the underlying database and therefore the user can not modify this field. In the example above, we have placed a
<Direction>
tag. While the tag is not actually required in this instance, we use it to reinforce the fact that this field can never be modified by the user in
Rally
. If a configuration file maps into this
Rally
field, it will be ignored (no data is copied or updated in this
Rally
field).
When doing bi-directional movements of date fields, use both field handlers as in the following example:
<Config> .... <Connector> <FieldMapping> <Field> <Rally>Name</Rally> <Other>BG_SUMMARY</Other> </Field> <Field> <Rally>TargetDate</Rally> <Other>BG_CLOSING_DATE</Other> </Field> </FieldMapping> <OtherFieldHandlers> <QCDatetimeToDateFieldHandler> <FieldName>BG_CLOSING_DATE</FieldName> </QCDatetimeToDateFieldHandler> </OtherFieldHandlers> <RallyFieldHandlers> <RallyDateTimeFieldHandler> <FieldName>TargetDate</FieldName> <!-- TargetDate(2012-08-25T06:00:00.000Z) --> <DateTimeFormat>%Y-%m-%dT%H:%M:%S.%LZ</DateTimeFormat> </RallyDateTimeFieldHandler> </RallyFieldHandlers> </Connector> ....
Map TS_NAME
Micro Focus ALM/Quality Center has a set of forbidden characters when creating a name for a test. Use a field handler for TS_NAME which will remove the forbidden characters when pushing updates or creates from
Rally
to Micro Focus ALM/Quality Center.
If the UPDATE_OTHER_TO_RALLY service is also specified, the new updated name from Micro Focus ALM/Quality Center will change the
Rally
name to the Micro Focus ALM/Quality Center name which contains none of the forbidden characters.
<Config> .... <Connector> .... <OtherFieldHandlers> <QCNameFieldHandler> <FieldName>TS_NAME</FieldName> </QCNameFieldHandler> ....
For TS_NAME, the following characters are removed:
Character
Symbol
Backslash
\
Slash
/
Colon
:
Quote
"
Question mark
?
Single quote
'
Less than sign
<
Greater than sign
>
Vertical bar
|
Asterisk
*
Percent
%
Map RQ_REQ_NAME
Micro Focus ALM/Quality Center has a set of forbidden characters when creating a name for a requirement. Use a field handler for RQ_REQ_NAME which will remove the forbidden characters when pushing updates or creates from
Rally
to QC.
If the UPDATE_OTHER_TO_RALLY service is also specified, the new updated name from QC will change the
Rally
name to the QC name which contains none of the forbidden characters.
<Config> .... <Connector> .... <OtherFieldHandlers> <QCNameFieldHandler> <FieldName>RQ_REQ_NAME</FieldName> </QCNameFieldHandler> ....
For RQ_REQ_NAME, the following characters are removed:
Character
Symbol
Backslash
\
Caret or Circumflex
^
Asterisk
*
Map TS_LINKED_REQ and BG_LINKED_REQ
In Micro Focus ALM/Quality Center, requirements can be linked to bugs and test cases. In
Rally
, a similar relationship is possible, but these relationships are not preserved by default. Micro Focus ALM/Quality Center tracks linkages in a separate table between requirements and defects.
Rally
tracks the relationship using the Requirement field on defects and the WorkProduct field on test cases. Therefore, Micro Focus ALM/Quality Center can link a test or defect to more than one requirement, while
Rally
only links either a test case or a defect to one user story.
You can set up a mapping which will preserve the relationship of a test or defect when moving data from Micro Focus ALM/Quality Center to
Rally
only. Relationships from
Rally
to Micro Focus ALM/Quality Center are not supported.
The
<QCReqLinkFieldHandler>
is available to help preserve the linkage of a bug or test to a requirement when that requirement has also been reflected by the connector. This field handler searches the link table for a bug or test for linked requirements. The first requirement that has a
Rally
ID will be used to link a defect or test case in
Rally
.
Current functionality does not support linking a test case to a defect.
To configure the field handler, your field mappings section must have either TS_LINKED_REQ or BG_LINKED_REQ mapped.
For test to story:
<Config> .... <Connector> <FieldMapping> <Field> <Rally>WorkProduct</Rally> <Other>TS_LINKED_REQ</Other> <Direction>TO_RALLY</Direction> </Field> .... <OtherFieldHandlers> <QCReqLinkFieldHandler> <FieldName>TS_LINKED_REQ</FieldName> <ReqRallyIDField>RQ_USER_NN</ReqRallyIDField> </QCReqLinkFieldHandler> .... <RallyFieldHandlers> <RallyReferenceFieldHandler> <FieldName>WorkProduct</FieldName> <ReferencedFieldLookupID>ObjectID</ReferencedFieldLookupID> </RallyReferenceFieldHandler> ....
For the
<ReqRallyIDField>
above, specify the custom field you created in Micro Focus ALM/Quality Center to contain the ID of the
Rally
user story (RQ_USER_nn in the above example). This should be the same as the
<ExternalIDField>
field in the configuration file which was previously used to copy the requirements to user stories.
For defect to story:
<Config> .... <Connector> <FieldMapping> <Field> <Rally>Requirement</Rally> <Other>BG_LINKED_REQ</Other> <Direction>TO_RALLY</Direction> </Field> .... <OtherFieldHandlers> <QCReqLinkFieldHandler> <FieldName>BG_LINKED_REQ</FieldName> <ReqRallyIDField>RQ_USER_NN</ReqRallyIDField> </QCReqLinkFieldHandler> .... <RallyFieldHandlers> <RallyReferenceFieldHandler> <FieldName>Requirement</FieldName> <ReferencedFieldLookupID>ObjectID</ReferencedFieldLookupID> </RallyReferenceFieldHandler> ....
For the
<ReqRallyIDField>
above, specify the custom field you created in Micro Focus ALM/Quality Center to contain the ID of the
Rally
user story (RQ_USER_nn in the above example). This should be the same as the
<ExternalIDField>
field in the configuration file which was previously used to copy the requirements to user stories.
The connector will log a warning if multiple requirements are linked to a test or defect when this field handler runs.
Map Reference Fields from Micro Focus ALM/Quality Center
The field handler
<QCReferenceFieldHandler>
enables the mapping from Micro Focus ALM/Quality Center to
Rally
only.
Rally
to Micro Focus ALM/Quality Center is not supported by this field handler. This field handler supports the following Micro Focus ALM/Quality Center fields being mapped to
Rally
:
  • BG_DETECTED_IN_RCYC
  • BG_DETECTED_IN_REL
  • BG_TARGET_RCYC
  • BG_TARGET_REL
  • RQ_TARGET_RCYC
  • RQ_TARGET_REL
  • RN_ASSIGN_RCYC
  • TC_ASSIGN_RCYC
In the following example, the
<QCReferenceFieldHandler>
field handler is used to extract the Name from a Micro Focus ALM/Quality Center object.
<Config> .... <Connector> <FieldMapping> <Field> <Rally>Release</Rally> <Other>BG_DETECTED_IN_REL</Other> <Direction>TO_RALLY</Direction> </Field> .... <OtherFieldHandlers> <QCReferenceFieldHandler> <FieldName>BG_DETECTED_IN_REL</FieldName> </QCReferenceFieldHandler> ....
Map
Rally
Test Result to Test Case (Required for Runs)
When copying a Micro Focus ALM/Quality Center run to a
Rally
test case result, a
Rally
test case result must be created with an association to a test case. When a new run is found in Micro Focus ALM/Quality Center, the connector finds the ID for the associated test in Micro Focus ALM/Quality Center if the field mapping is set up correctly. For example:
<Field> <Rally>TestCase</Rally> <Other>RN_TEST_ID</Other> </Field>
The connector then uses the RN_TEST_ID value to look up the linked test case in
Rally
based on this ID. Consequently, the connector needs to know which custom field on the
Rally
test case holds the QC Test unique ID. Once the custom field name is known, add a RallyReferenceFieldHandler for test case. This example uses ExternalID for the
Rally
custom field name.
<Config> .... <Connector> <RallyFieldHandlers> <RallyReferenceFieldHandler> <FieldName>TestCase</FieldName> <ReferencedFieldLookupID>ExternalID</ReferencedFieldLookupID> </RallyReferenceFieldHandler> .... </RallyFieldHandlers> ....
Map Run Dates (Required for Runs)
The Date field on a
Rally
test case result object
is a required field (and it is ISO 8601 UTC compliant). However, on a Micro Focus ALM/Quality Center run object the date is represented in two fields: RN_EXECUTION_DATE and RN_EXECUTION_TIME. To support the mapping of a QC run date to a
Rally
test case result date, use the field handler
<QCRunDateFieldHandler>
within the
<OtherFieldHandlers>
section. For example:
<Config> <RallyTestResultConnection> .... <ArtifactType>TestCaseResult</ArtifactType> </RallyTestResultConnection> <QCRunConnection> .... <ArtifactType>RUN</ArtifactType> <IDField>RN_RUN_ID</IDField> <!-- By default, the connector will only "look back" 1 day for new QC Runs to be copied to Rally TestCaseResults (and associated with a Rally TestCase). Use the following XML tag to change the number of days to search. --> <RunDaysToSearch>4</RunDaysToSearch> </QCRunConnection> <Connector> <FieldMapping> <Field> <Rally>Date</Rally> <Other>RN_EXECUTION_DATE</Other> </Field> <Field> <Rally>TestCase</Rally> <Other>RN_TEST_ID</Other> </Field> .... </FieldMapping> <RallyFieldHandlers> <RallyReferenceFieldHandler> <FieldName>TestCase</FieldName> <ReferencedFieldLookupID>TCExternalID</ReferencedFieldLookupID> </RallyReferenceFieldHandler> </RallyFieldHandlers> <OtherFieldHandlers> <QCRunDateFieldHandler> <FieldName>RN_EXECUTION_DATE</FieldName> </QCRunDateFieldHandler> .... </OtherFieldHandlers> .... </Connector> <ConnectorRunner> .... </ConnectorRunner> </Config>
Map
Rally
Test Case to
Rally
Story (Optional for Tests)
To track the Micro Focus ALM/Quality Center test status on stories in
Rally
, the Micro Focus ALM/Quality Center tester can enter the formatted ID of the
Rally
story on the test in Micro Focus ALM/Quality Center. Add a field mapping and
<RallyReferenceFieldHandler>
to support this feature.
First, the configuration file for tests will need to map the
Rally
story (WorkItem) to the Micro Focus ALM/Quality Center user field that stores the formatted ID.
<Field> <Rally>WorkItem</Rally> <Other>TS_USER_xx</Other> </Field>
Second, add a
<RallyReferenceFieldHandler>
to the
<RallyFieldHandlers>
section that informs the connector to find the story by FormattedID.
<Config> .... <RallyFieldHandlers> <RallyReferenceFieldHandler> <FieldName>WorkItem</FieldName> <ReferencedFieldLookupID>FormattedID</ReferencedFieldLookupID> </RallyReferenceFieldHandler> ....
Field Handlers
Multiple Configuration Files
There are times when setting up multiple configuration files is necessary. For example:
  • Map more than one workspace in
    Rally
  • Map multiple artifact types
  • Map to or from multiple containers in the other system (such as domains or projects in Micro Focus ALM/Quality Center, which would require a unique
    Rally
    custom field for the ExternalID of each container being used)
Naming the configuration files using descriptive names makes for easier troubleshooting.
To run multiple instances of the connector for different configuration files, invoke it multiple times, using one configuration file each time as follows:
rally2_hpalm_connector.rb alpha_project_config.xml the_omega_stories_config.xml -1
The above commands could be placed in a BAT file for easier invocation.

XML Tags

The following sections describe the available XML tags.
Incrementally set up the connector! Start with a basic configuration file, test that you can connect to Micro Focus ALM/Quality Center and
Rally
in a test environment. Once you validate this is set up correctly, then start customizing the field mapping and field handler sections.
XML Tags in the <RallyConnection> Section
<RallyConnection>
Required. Opening parent tag for this section.
<Url>
Required. Server used to connect to
Rally
(excluding any http prefix and /slm suffix, as the connector will add these to whatever is specified).
Sample values:
  • sandbox.rallydev.com
  • rally1.rallydev.com
  • myRally.mydomain.com
  • 192.168.23.24
<WorkspaceName>
Required. Workspace in
Rally
where you want to copy or update work items. Special characters in this field must be escaped as in: & must be entered as &amp;, > must be entered as &gt;, < must be entered as &lt;, and so on.
Sample values:
  • My Workspace
  • Dog &amp; Pony WS
<Projects>
Required. Contains a list of project tags. Each tag refers to one
Rally
project that will be used when finding new
Rally
work items to copy to the other system. For updating work items from
Rally
to the other system, all projects in <WorkspaceName> are considered. At least one
Rally
project must be specified in this tag. Special characters in this field must be escaped: & must be entered as &amp;, > must be entered as &gt;, < must be entered as &lt;, and so on.
Sample values:
<Project>Rally1</Project> <Project>Rally2</Project>< <Project>P3&amp;4</Project>
<User>
Required. Login name of user to make the Web Services requests to create and update work items in
Rally
.
Sample value:
<Password>
Required. Password associated with the <User>
Note: The connector will encode this password string and update it in the configuration file to avoid clear-text passwords being stored.
Sample value:
mypassword
<APIKey>
Rally APIKey (from
Rally
Application Manager) for the account to be used to access
Rally
from the connector. If this is specified, you do not need to supply a username and password. You do not need to whitelist the user associated with the value of the APIKey used as a value.
Sample value: ABC123plmokn43315...
<ArtifactType>
Required. Type of artifact you want to create or update in
Rally
.
Sample values:(Defect, defect), (story, user story, hierarchical requirement), test case, test case result
<ExternalIDField>
Required.
Rally
custom string field (name and display name must be identical) that stores the unique ID for the other system. See Create an ExternalID Field in
Rally
.
Sample value: QCID
<SuppressDeprecationWarning />
Changes the WARN message about
Rally
WSAPI version deprecation in the logfile to an INFO message.
<CopySelectors>
Criteria to use when finding new
Rally
issues to copy to Micro Focus ALM/Quality Center. An individual selector specification has the form:
<field><relation><value>,
where:
  • <field> is the name of a
    Rally
    artifact field
  • <relation> is one of =, !=, gt, lt, gte, lte
  • <value> is a valid value for the <field>.
See FAQ section for more details.
You can have multiple CopySelector criteria within the CopySelectors. All given CopySelector conditions are ANDed together.
<CopySelectors> <CopySelector>
expression
</CopySelector> [....] </CopySelectors>
Sample value:
<CopySelector> Status = Open </CopySelector> <CopySelector> Priority = Low </CopySelector>
<UpdateSelectors>
Criteria to use when finding existing
Rally
issues to be updated in Micro Focus ALM/Quality Center. An individual selector specification has the form:
<field> <relation> <value>, where:
  • <field> is the name of a
    Rally
    artifact field
  • <relation> is one of =, !=, gt, lt, gte, lte
  • <value> is a valid value for the <field>.
See FAQ section for more details.
You can have multiple UpdateSelector criteria within the UpdateSelectors. All given CopySelector conditions are ANDed together.
<UpdateSelectors> <UpdateSelector>
expression
</UpdateSelector> [....] </UpdateSelectors>
Sample value:
<UpdateSelector> Release != alpha </UpdateSelector>
<FieldDefaults>
Used when the destination system has a required field, but the field is not going to be mapped in the configuration file. This will cause field
F1
to be set to value of
V1
.
Valid for COPY of artifacts only. Not valid for UPDATE service.
<FieldDefaults> <Field> <Name>
F1
</Name> <Default>
V1
</Default> </Field> [....] </FieldDefaults>
Learn more in Map Required Fields.
</RallyConnection>
Required. Closing parent tag for this section.
Escape special characters contained in a
Rally
workspace or project name that are markup sensitive. For example:
&
ampersand becomes
&amp;
>
greater than becomes
&gt;
<
less than becomes
&lt;
Example: Research & Development becomes Research &amp; Development
XML Tags in the <QCConnection> Section
<QCConnection>
Required. Opening parent tag for this section.
<Url>
Required. Micro Focus ALM/Quality Center server name (or IP address) and port. Syntax: Normally just the
server:port
is needed. For https (such as accessing a SaaS QC server), use
https://server:443/qcbin
Sample values:
  • QCserverLocal:8080
  • https://QCserverSaaS:443/qcbin
<User>
Required. Username used make the API requests to create or update entities in Micro Focus ALM/Quality Center.
Sample value: myuser
<Password>
Required. Password of user making the API request to create or update entities in Micro Focus ALM/Quality Center.
The first time the connector runs, it will encode (which is not the same as encryption) this password and re-write the configuration file to avoid plain text passwords being stored.
Sample value: mypassword
<Domain>
Required. Name of domain that you want to connect to in Micro Focus ALM/Quality Center.
Sample value: My Domain
<Project>
Required. Name of project to be used in Micro Focus ALM/Quality Center.
Sample value: My Project
<ArtifactType>
Required. Entity name of the entities you want to create or update in Micro Focus ALM/Quality Center.
Sample values: BUG, REQ, RUN,TEST
<RequirementType>
Requirement type to set for requirements created in Micro Focus ALM/Quality Center. Only applicable when the
<ArtifactType>
value is REQ.
Sample values: Business, Folder, Functional, Group, Testing, Undefined or your <custom_defined_req_type>
<RequirementFolder>
Name of the folder under the Micro Focus ALM/Quality Center requirements root folder where requirements are copied or updated to. This will have no effect on copying requirements out of QC to
Rally
. Only applicable when the
<ArtifactType>
value is REQ. The default is to place copied requirements directly in the requirements root folder. This folder must exist prior to running the connector (also see RequirementFolderID).
Sample values: Release1, Southwest, Regulatory
<RequirementFolderID>
The ID of the folder under the Micro Focus ALM/Quality Center requirements root folder where requirements are copied or updated to. This will have no effect on copying requirements out of QC to
Rally
. Only applicable when the
<ArtifactType>
value is REQ. The default is to place copied requirements directly in the requirements root folder. This folder must exist prior to running the connector. This is useful when there are duplicate folder names in your Micro Focus ALM/Quality Center project (also see RequirementFolder).
Sample values: 123, 456
<IDField>
Required. Micro Focus ALM/Quality Center field used to store the unique ID of a bug, usually BG_BUG_ID.
Sample value: BG_BUG_ID
<ExternalIDField>
Required. A custom user field in Micro Focus ALM/Quality Center of type string used to store the unique ID (ObjectID) for the
Rally
work item. See Create an ExternalID User Field in Micro Focus ALM/Quality Center.
Sample value: BG_USER_01
<ExternalEndUserIDField>
A custom user field in Micro Focus ALM/Quality Center of type string used to store the FormattedID of the
Rally
work item (DExx). See Create an ExternalID User Field in Micro Focus ALM/Quality Center.
Sample value: BG_USER_02
<CrosslinkUrlField>
Micro Focus ALM/Quality Center custom field (String field types) containing html text information to the corresponding artifact in
Rally
. Only populates during copy.
Sample value: RallyURL
<CopySelectors>
Criteria to use when finding new Micro Focus ALM/Quality Center issues to copy to
Rally
. Multiple criteria are ANDed together. An individual selector specification has the form:
<field><relation><value>,
where:
<field> is the name of a Micro Focus ALM/Quality Center item field
<relation> is one of =, !=, gt, lt, gte, lte
<value> is a valid value for the <field>.
<CopySelectors> <CopySelector>
expression
</CopySelector> [....] </CopySelectors>
Sample value:
<CopySelector> BG_STATUS = Open </CopySelector> <CopySelector> BG_PRIORITY = High </CopySelector>
For more information about the CopySelectors allowed in Micro Focus ALM/Quality Center, see CopySelector and UpdateSelector.
<UpdateSelectors>
Criteria to use when finding existing Micro Focus ALM/Quality Center issues to be updated in
Rally
. Multiple criteria are ANDed together. An individual selector specification has the form:
<field> <relation> <value>
where:
  • <field> is the name of a Micro Focus ALM/Quality Center item field
  • <relation> is one of =, !=, gt, lt, gte, lte
  • <value> is a valid value for the <field>
<UpdateSelectors> <UpdateSelector>
expression
</UpdateSelector> [....] </UpdateSelectors>
Sample value:
<UpdateSelector> BG_TARGET_REL != alpha </UpdateSelector>
For more information about the UpdateSelectors allowed in Micro Focus ALM/Quality Center, see CopySelector and UpdateSelector.
<FieldDefaults>
Used when the destination system has a required field, but the field is not going to be mapped in the configuration file. This will cause field
F1
to be set to value of
V1
. Valid for COPY of artifacts only. Not valid for UPDATE service.
<FieldDefaults> <Field> <Name>
F1
</Name> <Default>
V1
</Default> </Field> [....] </FieldDefaults>
See more information in FAQ under Map Required Fields.
</QCConnection>
Required. Closing parent tag for this section.
XML Tags in the <Connector> Section
<Connector>
Required. Opening parent tag for this section.
<FieldMapping>
Required. Specifies which fields are to be mapped between the two systems.
<OtherFieldHandlers>
(opening tag)
<OtherUserFieldHandler>
For mapping usernames between systems. The <FieldName> is the name of the field in Micro Focus ALM/Quality Center. See Map User Names section of the FAQ.
<OtherUserFieldHandler> <FieldName>
name-of-field
</FieldName> <Domain>
CompanyName.com
</Domain> </OtherUserFieldHandler>
Sample value: Bug_Owner
<OtherEnumFieldHandler>
Allows for the mapping of non-alike, drop-down values between the two systems.
<OtherEnumFieldHandler> .... </OtherEnumFieldHandler>
<OtherConditionalEnumFieldHandler>
Similar to the <OtherEnumFieldHandler> except with this one only the exceptions need to be declared. Corresponding entries in the pull-down lists of both system which are identical, need not be declared.
<OtherConditionalEnumFieldHandler> .... </OtherConditionalEnumFieldHandler>
<OtherConcatFieldHandler>
Using the contents of
Dest-field
as the initial string, appends each additional
Src-fieldN
to
Dest-field
, using HTML break tags (<br />) to separate each additional field value.
<OtherConcatFieldHandler> <FieldName>
Dest-field
</FieldName> <ConcatFields> <Field>
Src-field1
</Field> <Field>
Src-field2
</Field> <Field>
.....
</Field> </ConcatFields> </OtherConcatFieldHandler>
Sample value:
BG_DEV_COMMENTS
BG_DESCRIPTION
BG_USER_02
.....
<QCUrlAttachmentFieldHandler>
Stores a link in the
Rally
artifact to the Micro Focus ALM/Quality Center 12 attachment. See Map QC Attachments.
<QCUrlAttachmentFieldHandler> <FieldName>
name-of-field
</FieldName> </QCUrlAttachmentFieldHandler>
Sample values:
  • BG_ATTACHMENT
  • RQ_ATTACHMENT
<QCRtfFieldHandler>
Converts some of the rich text (html) metadata in the
Rally
field to a more suitable QC version. See Map QC Markup Fields.
<QCRtfFieldHandler> <FieldName>
name-of-field
</FieldName> </QCRtfFieldHandler>
Sample values:
  • BG_DESCRIPTION
  • BG_DEV_COMMENTS
  • RQ_REQ_COMMENT
  • TS_DESCRIPTION
<QCUserEmailFieldHandler>
Paired with <RallyUserEmailFieldHandler>.
Given a QC username, it returns the email address for that QC user, which is to be handed to the <RallyUserEmailFieldHandler> (and vice versa).
<QCUserEmailFieldHandler> <FieldName>
name-of-field
</FieldName> </QCUserEmailFieldHandler>
Valid values for
name-of-field
: Any field of type
Owner
(such as BG_RESPONSIBLE, RQ_REQ_AUTHOR, TS_RESPONSIBLE, RN_TESTER_NAME).
<QCRunDateFieldHandler>
<QCRunDateFieldHandler> <FieldName>
name-of-field
</FieldName> </QCRunDateFieldHandler>
Sample value: RN_EXECUTION_DATE
<QCTestplanFolderFieldHandler>
<QCTestplanFolderFieldHandler> <FieldName>
name-of-field
</FieldName> </QCTestplanFolderFieldHandler>
Sample value: TS_SUBJECT
</OtherFieldHandlers>
(closing tag)
<RallyFieldHandlers>
(opening tag)
<RallyReferenceAttributeLookupFieldHandler>
Used to map a field from an object. See Mapping Reference Fields from
Rally
.
<RallyReferenceAttributeLookupFieldHandler> <FieldName>
name-of-field
</FieldName> <ReferencedFieldLookupID>
name-of-object
</ReferencedFieldLookupID> </RallyReferenceAttributeLookupFieldHandler>
Sample values:
  • name-of-field
    : TestSet
  • name-of-object
    : Name
<RallyUserFieldHandler>
Used to map usernames. See Map User Names.
<RallyUserFieldHandler> <FieldName>
name-of-object
</FieldName> <ReferencedFieldLookupID>
name-of-field
</ReferencedFieldLookupID> </RallyUserFieldHandler>
Sample values:
  • name-of-object
    : User,Owner,Tester
  • name-of-field
    : Name,FormattedID
<RallyUserEmailFieldHandler>
Paired with <QCUserEmailFieldHandler>.
Given a
Rally
user's email address, it returns the
Rally
user (and vice versa).
<RallyUserEmailFieldHandler> <FieldName>
name-of-field
</FieldName> </RallyUserEmailFieldHandler>
Valid values for
name-of-field
: User, Owner, SubmittedBy, Tester
<RallyDateTimeFieldHandler>
Bi-directional.
Rally
to Other: Convert the
Rally
ISO date in field
F1
into a date string formatted as specified by the string
S1
(as per Ruby's DateTime.strftime function) and store this new date string into the field
F1
is mapped to.
Other to
Rally
: The date string contained in the field which
F1
is mapped to, is converted into a
Rally
ISO date (in accordance with Ruby's DateTime.parse) and stored in
Rally
's
F1
field. Note that string
S1
is not used in this case.
<RallyDateTimeFieldHandler> <FieldName>
F1
</FieldName> <DateTimeFormat>
S1
</DateTimeFormat> </RallyDateTimeFieldHandler>
Sample values:
  • F1
    : TestDate
  • S1
    : %m-%d-%Y%H:%M:%S
<RallyEnumFieldHandler>
Allows for the mapping of non-alike, drop-down values between the two systems.
<RallyEnumFieldHandler> .... </RallyEnumFieldHandler>
<RallyTestFolderFieldHandler>
See example at QC-config-CopyTests2TestCases.pxml
<RallyTestFolderFieldHandler> <FieldName>
name-of-folder
</FieldName> </RallyTestFolderFieldHandler>
Sample value: TestFolder
<RallyConcatFieldHandler>
Using the contents of
Dest-field
as the initial string, appends each additional
Src-fieldN
to
Dest-field
, using HTML break tags (<br />) to separate each additional field value.
<RallyConcatFieldHandler> <FieldName>
Dest-field
</FieldName> <ConcatFields> <Field>
Src-field1
</Field> <Field>
Src-field2
</Field> <Field>
.....
</Field> </ConcatFields> </RallyConcatFieldHandler>
Sample value:
Some custom field
Description
some other field
.....
<RallyCSVUserMappingFieldHandler>
Specifies the name of a field being mapped (
name-of-field
) and a CSV file where user mappings are stored (
name-of-file
). The CSV file is used to lookup and transform usernames based on the mappings specified within. This is case sensitive. See a more detailed explanation on the FAQ page or an example XML file.
<RallyCSVUserMappingFieldHandler> <FieldName>
name-of-field
</FieldName> <FileName>
name-of-file
</FileName> </RallyCSVUserMappingFieldHandler>
Sample values: SubmittedBy, MyUserMappings.csv
<RallyBooleanFieldHandler>
Specifies the mapping of
Rally
Boolean fields to Micro Focus ALM/Quality Center fields. Works in both directions. See a more detailed explanation on the FAQ page.
<RallyBooleanFieldHandler> <FieldName>
name-of-Rally-field
</FieldName> <Mappings> <Field><Rally>
false
</Rally> <Other>
HP-ALM-field-value
</Other></Field> <Field><Rally>
true
</Rally> <Other>
HP-ALM-field-value
</Other></Field> </Mappings> </RallyBooleanFieldHandler>
<RallyTruncateFieldHandler>
Can truncate incoming
Rally
data to 32000 characters. This works well with the Description field.
<RallyTruncateFieldHandler> <FieldName>
name-of-Rally-field
</FieldName> </RallyTruncateFieldHandler>
</RallyFieldHandlers>
(closing tag)
<RelatedObjectLinkers>
Opening tag. Used for more complex mappings of fields.
<RallyAttachmentLinker/>
Used to copy attachments between QC and
Rally
(bi-directional). Can be used on any object which supports attachments (in
Rally
: tasks, defects, stories, and tests; in QC: requirements, defects, and tests). For more information, see Map QC attachments.
<QCReqtoRallyTestWorkProductLinker>
The
name-of-field
is the
Rally
custom field in the Req/Story configuration file.
<QCReqtoRallyTestWorkProductLinker> <RallyStoryFieldForQCReq>
name-of-field
</RallyStoryFieldForQCReq> </QCReqtoRallyTestWorkProductLinker>
Sample value: QCReqID
<RallyToQCTestStepLinker>
Used to COPY (Note: UPDATE is not supported)
Rally
test cases and steps to QC tests and test steps.
<ValidationStep>
Tells the connector where to place
Rally
's Validation Input or Validation Expected Result in the list of Micro Focus ALM/Quality Center test steps. If you do not want an extra empty step in the list of design test steps in Micro Focus ALM/Quality Center, then omit this tag completely.
<ValidationStep>
positional-name
</ValidationStep>
Sample values: Last, First
<StepFields>
See example QC-config-test-steps-01.pxml
<StepFields> <Field> <Rally>
name-of-field
</Rally> <Other>
name-of-field
</Other> </Field> ... </StepFields>
Sample values:
  • Rally
    name-of-field
    : ExpectedResult
  • Other
    name-of-field
    : DS_EXPECTED
</RallyToQCTestStepLinker>
Closing tag.
See example configurations file QC-config-test-steps-01.pxml
<QCToRallyTestStepLinker/>
Used to COPY (Note: UPDATE is not supported) QC tests and test steps to
Rally
test cases and steps.
See example configurations file QC-config-test-steps-02.pxml
</RelatedObjectLinkers>
Closing tag.
</Connector>
Required. Closing parent tag for this section.
XML Tags in the <ConnectorRunner> Section
<ConnectorRunner>
Required. Opening parent tag for this section.
<Preview>
Allows you to enable a preview mode for testing where NO objects are copied or updated in either system.
Sample values:
  • False (default)
  • True
<LogLevel>
Specifies the type of messages to be written to the log file. The highest level is Debug where all messages are displayed.
Sample values:
  • Fatal
  • Error
  • Warn
  • Info (default)
  • Debug
<Services>
Required. Use the copy services to initially reflect items between systems, then use the update services to keep those reflected items up to date.
The alternative update service searches
Rally
first for updates and pushes only the recently changed fields to the other system. It then searches the other system for updates and pushes all mapped fields into
Rally
. This reduces the occurrences of overwrites when changes have been made in both systems.
See FAQ for more information.
Sample values:
  • Copy services:
    • COPY_QC_TO_RALLY
    • COPY_RALLY_TO_QC
  • Update services:
    • UPDATE_QC_TO_RALLY
    • UPDATE_RALLY_TO_QC
  • Alternative update service:
    • UPDATE_RALLYFIELDS_AND_OTHER (may not be used in conjunction with the other update services)
<PostServiceActions>
Instructs the connector to move the
Rally
user story hierarchy to a QC requirements hierarchy (one direction only). Should not be used in the same configuration file as <MirrorQCStoryHierarchyInRally>.
Sample value:
<PostServiceActions> <MirrorStoryHierarchyInQC /> </PostServiceActions>
<PostServiceActions>
Instructs the connector to move the QC requirement hierarchy to a
Rally
user story hierarchy (one direction only). Should not be used in the same configuration file as <MirrorStoryHierarchyInQC>. This feature will only work with: 1) the requirement artifact in QC, 2) the user story artifact in
Rally
, 3) a parent which has no tasks.
By default, the QC requirements copied to
Rally
have the full QC folder pathname (starting at requirement). To have the
Rally
folder named with a subset of the full pathname, you may give the starting point (folder name) by specifying the top level folder ID within the <RootFolderID> element.
<PostServiceActions> <MirrorQCStoryHierarchyInRally> <RootFolderID>
number
</RootFolderID> </MirrorQCStoryHierarchyInRally> </PostServiceActions>
<Emailer>
Opening tag for this feature which logfile messages to email.
<Emailer> <Level>
value
</Level> <SendEmailFrom>
value
</SendEmailFrom> <SendEmailTo>
value
</SendEmailTo> <SMTPServer>
value
</SMTPServer> <SMTPPort>
value
</SMTPPort> <SMTPUser>
value
</SMTPUser> <SMTPPassword>
value
</SMTPPassword> <SMTPSec>
value
</SMTPSec> </Emailer>
Sample values:
<Emailer> <Level>
Error or Warning
</Level> <SendEmailFrom>[email protected]</SendEmailFrom> <SendEmailTo>[email protected]</SendEmailTo> <SMTPServer>smtp.acme.com</SMTPServer> <SMTPPort>587</SMTPPort> <SMTPUser>[email protected]</SMTPUser> <SMTPPassword>Password</SMTPPassword> <SMTPSec>TLS</SMTPSec> </Emailer>
See example.
</ConnectorRunner>
Required. Closing parent tag for this section.
The <RallyTestResultConnection> XML Tags
These are the same as the
<RallyConnection>
section except the parent tag is
<RallyTestResultConnection>
.
The <QCConnection> XML Tags
<QCConnection>
Required. Opening parent tag for this section.
<Url>
Required. Micro Focus ALM/Quality Center server name (or IP address) and port. Syntax is server:port.
Sample value: myqcserver:8080
<User>
Required. The user to make the API requests to create and update entities in Micro Focus ALM/Quality Center.
Sample value: myuser
<Password>
Required. Password for user to make the API request to create and update entities in Micro Focus ALM/Quality Center.
The first time the connector runs, it will encode the password so it is not saved in plain text.
Sample value: mypassword
<Domain>
Required: Domain that you want to connect to in Micro Focus ALM/Quality Center.
Sample value: MyCompany.com
<DatabaseSet>
Required. Project that you want to connect to in Micro Focus ALM/Quality Center.
Sample value: My Project
<ArtifactType>
Required. Entity name for the entities you want to create and update in Micro Focus ALM/Quality Center.
Sample value: TEST
<TestFolder>
Name of the Test Plan folder under Subjects in which to place newly copied tests in Micro Focus ALM/Quality Center. This folder must exist prior to running the connector.
Sample values: Iteration1, UI-Responsiveness
<TestFolderID>
ID of the Test Plan folder under Subjects in which to place newly copied tests in Micro Focus ALM/Quality Center. This folder must exist prior to running the connector. This can also be used to specify the folder to be selected for a copy from Micro Focus ALM/Quality Center to Rally. This can be helpful when there are duplicate Test Plan folder names. See here for how to find the TestFolderID value.
Used in place of <TestFolder>.
Sample value: 1004
<IDField>
Required. Micro Focus ALM/Quality Center field used to store the unique ID of a test or other entity.
Sample value: TS_TEST_ID
<ExternalIDField>
Required. Micro Focus ALM/Quality Center user field of type string that stores the unique ID for the
Rally
work item. See Create an ExternalID User Field in Micro Focus ALM/Quality Center.
Sample value: TS_USER_01
</QCConnection>
Required. Closing parent tag for this section.
The <QCRunConnection> XML Tags
This tag is used when dealing with Tests in Micro Focus ALM/Quality Center. It supports all of the tags in the
<QCConnection>
section, as well as the following tags:
<QCRunConnection>
Required. Opening parent tag for this section.
<Url>
Required. Micro Focus ALM/Quality Center server name (or IP address) and port.
Sample value: server.port
<Domain>
Required. Name of the domain you want to connect to in Micro Focus ALM/Quality Center.
Sample value: My Domain
<Project>
Required. Name of project to be used in Micro Focus ALM/Quality Center.
Sample value: My Project
<qcusername>
Required. Micro Focus ALM/Quality Center username.
Sample value: [email protected]
<password>
Required. Password associated with the username above.
Sample value: mypassword
<ArtifactType>
Required. Type of artifact you want to create or update in QC.
Sample values: BUG, REQ, TEST
<TestFolder>
Name of the Test Plan folder under Subjects in which to place newly copied tests in Micro Focus ALM/Quality Center. This folder must exist prior to running the connector.
Sample values: Iteration1, UI-Responsiveness
<TestFolderID>
ID of the Test Plan folder under Subjects in which to place newly copied tests in Micro Focus ALM/Quality Center. This folder must exist prior to running the connector. This can also be used to specify the folder to be selected for a copy from Micro Focus ALM/Quality Center to
Rally
. This can be helpful when there are duplicate Test Plan folder names. See here for how to find the TestFolderID value.
Used in place of <TestFolder>.
Sample value: 1004
<IDField>
Required. Micro Focus ALM/Quality Center field used to store the unique ID of a test run.
Sample value: RN_RUN_ID
<ExternalIDField>
Required. Micro Focus ALM/Quality Center user field of type String that stores the unique ID of a test or other entity.
Sample value: TS_User_01
<RunDaysToSearch>
Specified in days, the time period in which the connector searches into the past for new QC runs to be copied to
Rally
test case results (and associated with a
Rally
test case). The default is one day.
Sample values:
  • 1 (default)
  • 2
</QCRunConnection>
Required. Closing parent tag for this section.

Run the Connector

You can run the connector in work item mode or test mode.
Work Item Mode
The connector accepts these command-line flags:
rally2_hpalm_connector.rb -h Usage: C:/Users/hflygare/Ruby22-x64/bin/rally2_hpalm_connector.rb <options> <config_filename> <interval_in_minutes> where <options> are: --version, -v: Prints the revision number of the connector. --preview, -p: Run the connector in preview mode, do not actually copy or update any items. --log-file-size, -s <n>: Set the size limit for a log file to <n> megabytes. --max-log-files, -m <n>: Set the maximum number of log files in log file rotation to <n>. --help, -h: Print this Usage message. --cleartext, -c: Bypass encrypting the credentials if they are already in clear text. where <config_filename> File system reference to an XML file specifying the connector configuration. Usual extension is .xml. where <interval_in_minutes> The interval, in minutes, for which the connector will run after executing command the first time. -1 will only run the connector once and will exit afterwards.
Once the
qc_config.xml
file has been edited to reflect your environment, you can start running the connector. Open a command prompt or terminal and type:
rally2_hpalm_connector.rb alpha_project_config.xml -1
or if the above does not run the connector or if you see the following error: ruby: No such file or directory -- rally2__connector.rb (LoadError) , please try adding ruby to the beginning of the command:
ruby rally2_hpalm_connector.rb alpha_project_config.xml -1
to start the service. If you named your configuration file something other than qc_config.xml, substitute that name on the command line. The last argument, -1, tells the connector to run once and then exit.
In the past we have sometimes suggested using a positive integer value as they last argument, such as 10, which would instruct the connector run; sleep 10 minutes; then repeat this process. We now advise against such use as it appears to generate issues in some environments (and they are difficult to triage). We strongly suggest using -1 as the last argument, and then set up a cron if you want the connector to run at regular intervals.
The
rallylog.log
file is generated by the connector and contains login information. View the log file for evidence that the connector is working properly.
Rally
ships a
startqc.bat
file to make it easier to test. If the configuration file you intend to use is not named
qc_config.xml
you must edit the
startqc.bat
file to reference your configuration file name.
To stop the service, use
Control-C
in the command shell.
Test Mode
Once the
qc_config*.xml
files are set up, you can start running the connector.
To start the connector, open the command prompt or terminal and enter:
rally2_hpalm_connector.rb alpha_project_config.xml -1
Credential Encryption (Added May 2015)
As of version 4.6.0 of the connector, credentials occurring in the *Connection sections of the configuration file that are in clear text are encrypted after the initial run using that configuration file. Credentials are identified as any configuration item tag appearing in a *Connection section whose name is *User, or any *Password or APIKey.
Credentials in the Emailer section (SMTPUser and SMTPPassword) will still be encoded. The credential encryption is localized for the installation of the connector and various aspects of the configuration file.
In practice, as long as the installation and execution folders are constant and the key
Rally
parameters in the configuration do not change, you can modify most of the contents of the configuration file without having to reset the credentials to their clear-text values. However, be cautious in environments that do not have such stable characteristics. Frequently check the log files for any entries that indicate environmental changes have taken place that prevent the connector from decrypting the encrypted values for use in the connector execution.
You can use the -c option to specify leaving the password in clear case instead of encrypting. The command line for running the connector will be:
rally2_hpalm_connector.rb -c configfile.xml
The -1 option may still be used at the end of the command if needed.
Modify the Logging Parameters
The connector logs messages as it is processing into a
rallylog.log
file in the current working directory. By default, the maximum size of a log file is 5 MB and the log rotation is limited to 10 files. You can adjust the maximum size of the log file and adjust the maximum count of log files in the log rotation by specifying command line arguments for this.
The
-s <integer>
option pair can be used to specify the maximum size of the log file in MB increments (up to 100 MB). This can also be expressed as
--max-log-file-size <integer>.
The
-m <integer>
option pair can be used to specify the maximum count of files in the log file rotation scheme. This can also be expressed as
--max-log-files-count <integer>.
Example:
To set the log file max size to 50 MB and the maximum log file rotation count to 20 files for a single invocation of the connector:
rally2_hpalm_connector.rb -s 50 -m 20 xxx_config.xml -1
OR
rally2_hpalm_connector.rb --max-log-file-size 50 --max-log-files-count 20 xxx_config.xml -1

Manage Tests and Test Cases Using the
Rally
Connector for Micro Focus ALM/Quality Center

When you use the
Rally
–Micro Focus ALM/Quality Center connector, you can do the following:
Copy Tests and Runs from Micro Focus ALM/Quality Center to
Rally
You can copy tests and test runs that you created in Micro Focus ALM/Quality Center to
Rally
.
Follow these steps:
  1. Configure the connector following the steps outlined in the installation guide.
    The screenshots below illustrate custom fields created in Micro Focus ALM/Quality Center for test and run artifact types, and custom fields created in
    Rally
    for test case work item type. Those fields are intended to store the ID of the corresponding artifact from the other system.
    Below is the custom field created for Micro Focus ALM/Quality Center’s Test to hold Object ID of the corresponding
    Rally
    test case:
    Custom field for ObjectID
    Below is the custom field created for Micro Focus ALM/Quality Center’s Run to hold Object ID of the corresponding
    Rally
    test case result:
    Custom field for ObjectID of test case result
    Below is the custom field created for
    Rally
    ’s test case to hold ID of the corresponding Micro Focus ALM/Quality Center test:
    Custom field for ID of Micro Focus ALM/Quality Center test
    Note that this is not symmetrical. The
    Rally
    TestCaseResult work item type does not allow creation of custom fields, and support for mapping runs from Micro Focus ALM/Quality Center to test case results from
    Rally
    only support Copy service in one direction (from Micro Focus ALM/Quality Center to
    Rally
    ).
    Following are the relevant extracts from the files:
    In the configuration file for tests and test cases, in
    <RallyConnection>
    , there is:
    <ArtifactType>TestCase</ArtifactType> <ExternalIDField>TCExternalID</ExternalIDField>
    In the same configuration file for test cases, in
    <QCConnection>
    , there is:
    <TestFolder>MyTestFolder</TestFolder> <IDField>TS_TEST_ID</IDField> <ExternalIDField>TS_USER_01</ExternalIDField>
    In the configuration file for runs and test case results, in
    <RallyTestResultConnection>
    the artifact type is specified by
    <ArtifactType>TestCaseResult</ArtifactType>
    but there is no ExternalIDField on the
    Rally
    side.
    In the same configuration file for runs and test case results, in
    <QCRunConnection>
    there is:
    <IDField>RN_RUN_ID</IDField> <ExternalIDField>RN_USER_01</ExternalIDField> <TestExternalIDField>TS_USER_01</TestExternalIDField>
    Notice that
    <TestExternalIDField>
    has the same value here as
    <ExternalIDField>
    in the tests and test cases configuration file. That is how the link between a run and test (test case result and test case) is maintained.
  2. After you have created test runs, run the connector with both configuration files.
    run the connector with both configuration files
    Below is a screenshot of the rallylog entry related to the copy of Micro Focus ALM/Quality Center test to
    Rally
    test case:
     test case
    Below is a screenshot of the rallylog entry related to the copy of Micro Focus ALM/Quality Center run to
    Rally
    test case result:
    Copy Quality Center run to test case result
    Below is the screenshot of the details page of the newly created
    Rally
    test case. Notice that the Results link on the left shows that there is also a test case result associated with this test case:
    Test case
    Test case result
Copy Test Cases from
Rally
to Micro Focus ALM/Quality Center
You can copy test cases from
Rally
to Micro Focus ALM/Quality Center.
Follow these steps:
  1. In the xml configuration file of tests and test cases in the
    <QCConnection>
    section there must be a pre-existing Micro Focus ALM/Quality Center Test Folder (from Test Plan) specifying:
    <TestFolder>MyTestFolder</TestFolder>
    When the test case from
    Rally
    is copied to Micro Focus ALM/Quality Center it should go to this folder.
  2. Run the connector.
    run the connector
    The test is created in Micro Focus ALM/Quality Center. Notice the TS_USER_01 labeled
    Rally
    ID field populated with Object ID of the corresponding
    Rally
    test case:
    test created in Quality Center
    On the
    Rally
    side, the original test case now has its custom field TCExternalID populated with the ID of the corresponding Micro Focus ALM/Quality Center test.
    If a test instance of this test needs to be created in Test Lab and a run needs to be copied from Micro Focus ALM/Quality Center to
    Rally
    , follow the steps described earlier in this document. Note that runs can only be copied from Micro Focus ALM/Quality Center to
    Rally
    . The connector does not support copy service from
    Rally
    to Micro Focus ALM/Quality Center for test case results.
Update Test Cases from
Rally
to Micro Focus ALM/Quality Center
You can run the connector after you update a test case in
Rally
to ensure that it is also updated in Micro Focus ALM/Quality Center.
Follow these steps:
  1. Update the test case in
    Rally
    .
  2. Run the connector.
    run the connector
    Test Case in Quality Center
Update Test Cases from Micro Focus ALM/Quality Center to
Rally
You can run the connector after updating a test case in Micro Focus ALM/Quality Center so that it is also updated in
Rally
.
Follow these steps:
  1. Update the test case in Micro Focus ALM/Quality Center.
    update the test case in Quality Center
  2. Run the connector. The corresponding test case in
    Rally
    is updated.
    run the connector
    updated test case
You can link
Rally
user stories to Micro Focus ALM/Quality Center test cases. The goal of this setup is to make sure that when a test is copied from Micro Focus ALM/Quality Center to
Rally
, it is linked to a pre-existing user story in
Rally
by following the steps below.
Follow these steps:
  1. Create a test in Micro Focus ALM/Quality Center.
    create a test in Quality Center
    A Formatted ID of
    Rally
    user story US93 in the
    Rally
    WorkProduct field that references a real story in
    Rally
    in the same
    Rally
    workspace and project indicated in the configuration file.
    The goal of this setup is to make sure that when a test is copied from Micro Focus ALM/Quality Center to
    Rally
    , it is linked to a pre-existing user story in
    Rally
    by following the steps below. On the
    Rally
    side, the linking happens through a WorkProduct field of TestCase object.
    1. Create a user field in Micro Focus ALM/Quality Center for Test artifact to hold the
      Rally
      FormattedID. The field must be a string type.
      create a user field for the FormattedID
    2. Add this mapping to the
      FieldMapping
      section of the configuration file for tests and test cases:
      <Field><Rally>WorkProduct</Rally><Other>TS_USER_02</Other></Field>
    3. Add
      RallyReferenceFieldHandler
      to the
      RallyFieldHandlers
      section of the same configuration file.
      <RallyReferenceFieldHandler> <FieldName>WorkProduct</FieldName> <ReferencedFieldLookupID>FormattedID</ReferencedFieldLookupID> </RallyReferenceFieldHandler> </RallyFieldHandlers>
      An example of the syntax in the context of the
      Connector
      section of the xml configuration file:
      <Connector> <FieldMapping> <Field><Rally>Name</Rally><Other>TS_NAME</Other></Field> <Field><Rally>WorkProduct</Rally><Other>TS_USER_02</Other></Field> <Field><Rally>Description</Rally><Other>TS_DESCRIPTION</Other></Field> </FieldMapping> <RallyFieldHandlers> <RallyReferenceFieldHandler> <FieldName>WorkProduct</FieldName> <ReferencedFieldLookupID>FormattedID</ReferencedFieldLookupID> </RallyReferenceFieldHandler> </RallyFieldHandlers> <Connector>
  2. Run the connector.
    run the connector
    test case linked to a story
    The test case is created in
    Rally
    , linked to a
    Rally
    story.
    test case linked to a story

Troubleshoot the
Rally
Connector for Micro Focus ALM/Quality Center

The topics in this section describe how to resolve some problems you might have related to the connector.
Cannot Convert "null" Into a Date
If you see an error similar to this:
DEBUG : Connector.block in map_fields_to_rally - Mapping BG_CLOSING_DATE(2013-03-05 00:00:00 +0000) - to - TargetDate(2013-03-05 00:00:00 +0000) WARN : RallyConnection.initialize - <Errors><OperationResultError> Could not parse: Cannot convert "null" into a date. You must use the ISO8601 date+time format.
You must add the following field handler:
..... <Field><Rally>TargetDate</Rally> <Other>BG_CLOSING_DATE</Other></Field> ..... <QCDatetimeToDateFieldHandler> <FieldName>BG_CLOSING_DATE</FieldName> </QCDatetimeToDateFieldHandler>
See Log File for Messages
  • Once the connector is running, all errors are written to the
    rallylog.log
    in the working directory where
    rally2_hpalm_connector
    was invoked. Informational messages, warnings, and errors are written to the log file depending on the value of the
    <LogLevel>
    tag in the
    <ConnectorRunner>
    section of the configuration file.
  • The logfile is not written to when running the connector as a .bat (batch) job. If the connector is being run as a batch job, verify that the user that owns and runs the batch job has access to the
    logfile
    directory.
Connector Validation
Before the connector starts reflecting objects between the two systems, it performs these validations:
  • Connecting to
    Rally
    is successful
  • Connecting to the QC system is successful
  • The
    Rally
    fields in the field mapping section exist in
    Rally
  • The QC fields in the field mapping section exist in the other system
  • Each specified field handler has a corresponding field mapping section in the configuration file
To confirm the validation is successful without moving objects between the two systems, set the
<Preview>
tag in the configuration file to
true
. This is useful if you wish to experiment with some different configuration options to debug an issue.
Datetime Field Handlers
When mapping date fields, a field handler is required to instruct the connector how the field is to be transformed. See Map Dates.
EnvironmentalKey ident_vector Not Valid Error
The following error may be seen in QC connector version 4.6.0 and higher. If this error is seen, re-enter the userID and password for both QC and
Rally
.
..... ERROR : Class.initialize - EnvironmentalKey ident_vector not valid for decryption target value
Adjust any Custom Field Handlers
If you use any custom field handlers you must edit the
read_config
method so that the primary argument is fh_info (a Ruby Hash instance) and the code that examines that and assigns the @field_name is similar to the following:
fh_info.each do |name, value| if name == 'FieldName' @field_name = value end end
Known Issues
The following known issues exist.
Could not create requirement warning
Solution: This error occurs when you have not enabled the ExternalID field for all requirement types. Here is a link to Micro Focus ALM/Quality Center explaining this in detail.
... WARN : RallyEIF::WRK::QCConnection.initialize - Could not create requirement - QCAPI - HTTP-400 on request - Response was: {"Id":"qccore.unknown-field-name","Title":"Entity: requirement doesn't have a field named: 'user-01'","ExceptionProperties":[{"Name":"field-name","StringValue":"user-01"},{"Name":"entity-name","StringValue":"requirement"}],"StackTrace":null} -
Error when field length for ExternalID is not correct
Solution: Change the field length for the ExternalID to 40
.... ERROR : RallyEIF::WRK::QCConnection.rescue in update_external_id_fields - Could not update external id (or external end user id) field ERROR : RallyEIF::WRK::QCConnection.initialize - Error updating defect-7787. QCAPI - HTTP-400 on request - http://qcserver:8080/qcbin/rest/domains/CRM/projects/MAINTENANCE/defects/7787. Response was: {"Id":"qccore.invalid-value-type-for-field","Title":"Failed to convert the 'user-23' field of a 'defect'. The object 555555895972 cannot be converted to type Integer","ExceptionProperties":[{"Name":"entity-name","StringValue":"defect"},{"Name":"field-name","StringValue":"user-23"}],"StackTrace":null}. WARN : RallyEIF::WRK::Connector.initialize - Copy of ALM defect 7787 to Rally skipped due to inability to update the ALM external_id field (BG_USER_23)
We have reports of issues when using the connector with Micro Focus ALM/Quality Center version 12.53
No known resolution.
We have reports of the following error when using the connector with Micro Focus ALM/Quality Center version 12.20
No known resolution. This version of Micro Focus ALM/Quality Center is not supported. The logfile displays:
.... WARN -- : RallyEIF::WRK::QCConnection.initialize - QCAPI - HTTP-500 on request - http://hpqc.perceptive.com/qcbin/rest/domains/test/projects/test/defects?query=%7Buser-01[(%20%22%22%20or%20NULL)];id[=%22784%22]%7D&page-size=500&limit=99999. Response was: {"Id":"qccore.general-error","Title":"Ambiguous pagination settings. Please dont use page-size and start-index parameters together with limit and offset parameters.","ExceptionProperties":null,"StackTrace":null} ERROR -- : RallyEIF::WRK::ConnectorRunner.rescue in run_services - Unexpected exception occurred WARN -- : RallyEIF::WRK::ConnectorRunner.exception - Message QCAPI - HTTP-500 on request - http://hpqc.test.com/qcbin/rest/domains/test/projects/test/defects?query=%7Buser-01[(%20%22%22%20or%20NULL)];id[=%22784%22]%7D&page-size=500&limit=99999. Response was: {"Id":"qccore.general-error","Title":"Ambiguous pagination settings. Please dont use page-size and start-index parameters together with limit and offset parameters.","ExceptionProperties":null,"StackTrace":null}
Test Cases reflected from Micro Focus ALM/Quality Center to
Rally
are constantly being added/removed in
Rally
This occurred when the Folders containing the tests in Micro Focus ALM/Quality Center were removed but the tests were not removed. This resulted in the tests being moved to the unattached area in Micro Focus ALM/Quality Center.
Solution:
Move the tests in Micro Focus ALM/Quality Center to a test folder.
Map Releases or Iterations with Multiple Projects
When mapping release or iteration values and there are multiple
Rally
projects where the release and iteration names are identical across
Rally
projects, you may receive an error if the release or iteration you are updating on the defect references a different project than the given defect is assigned. The connector only returns the first release or iteration with the matching name in
Rally
so it could have a reference to a release or iteration in a different project.
Map a Null Release or Iteration
When using a
<OtherEnumFieldHandler>
to map a release or iteration, it is not possible to set it to null or unscheduled. Different systems treat null or empty values for given field types inconsistently, so we chose not to nullify values during updates due to this disparity. Reflection of null values is further complicated by the fact that users are able to map a field of one type in one system to a field of another type in the other system.
Email Feature for
Error
Prior to revision 2.8.8, the
<Emailer>
feature would not send email if the
<Level>
was set to
Error
(DE15642).
Duplicate Requirement Names in QC
In
Rally
, two requirements can have the same value in the name field. This is not allowed in the QC system. If a requirement with a duplicate RQ_REQ_NAME is copied to QC, an error will occur. If the configuration file is using the
<RequirementFolder>
or
<RequirementFolderID>
tag, the following error occurs (otherwise the error will be an OLE 80040556):
INFO : Connector.copy_to_other - Copy US447 to Quality Center DEBUG : Connector.block in map_fields_to_other - Mapping Name(test dup req name) - to - RQ_REQ_NAME(test dup req name) DEBUG : Connector.block in map_fields_to_other - Mapping Description(US447 desc) - to - RQ_REQ_COMMENT(US447 desc) DEBUG : QCConnection.create_internal - set all artifact fields ERROR : QCConnection.rescue in create_internal - failed on attempt to move Requirement item to target folder ERROR : QCConnection.rescue in create_internal - failed on attempt to create QC Req item from src item ERROR : QCConnection.cleanup_shell_artifact - Attempting to delete the shell req item due to error. INFO : QCConnection.delete - Deleted QC req with id 22 ERROR : QCConnection.cleanup_shell_artifact - The shell req was deleted successfully. WARN : QCConnection.initialize - Could not create req - failed on attempt to move Requirement item to target folder -
Connector Errors when QC Comments or Description Over 32768 Characters are Copied to
Rally
String Field (DE22249)
[2015-01-15 17:39:20 Z] WARN : RallyEIF::WRK::RallyConnection.initialize - Error on request - https://rally1.rallydev.com/slm/webservice/1.42/testcase/create.js?/workspace=/workspace/658223893a - {:errors=>["Validation error: TestCase.Description length is greater than the maximum length of 32768"]}
Solution: Add the
<RallyTruncateFieldHandler>
to automatically truncate the description.
Errors when Running install_gems.rb
./install_gems.rb: line 2: BASE_GEMS: command not found ./install_gems.rb: line 3: syntax error near unexpected token `(' ./install_gems.rb: line 3: `CORE_GEMS = %w(rally_api rallyeif-wrk)'
The script requires that Ruby 2.2 be installed. Additionally, the script does not contain the location to an interpreter as the first line, therefore it needs to be called as a parameter of the ruby command.
To launch the script successfully, run the following command:
# ruby install_gems.rb
Error when running ruby dk.rb Install
ERROR: Invalid configuration or no Rubies listed. Please fix 'config.yml' and rerun 'ruby dk.rb install'
Solution:
Change the
config.yml
file in the DevKit directory to include the Ruby base directory.
Add the following at the end of the config.xml but change the directory below to your Ruby directory (all dashes are necessary):
--- -G:\Ruby22-x64
Error when running rally2_hpalm_connector.rb config.xml -1
ERROR: ruby: No such file or directory -- rally2_hpalm_connector.rb (LoadError)
Solution:
Add
ruby
to the beginning of the command and verify that Ruby is the default app for
.rb
files.
ruby rally2_hpalm_connector.rb config.xml -1
For additional information on how to make Ruby the default application, see the following link Instructions for Windows 10
Error when proxy server is used and is not configured
DEBUG : RallyEIF::WRK::RallyConnection.rescue in connect - StandardError: RallyAPI: - rescued exception - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. - connect(2) for "proxy" port 80 (http://proxy:80) on request to https://rally1.rallydev.com/slm/webservice/v2.0/user with params {} ERROR : RallyEIF::WRK::RallyConnection.rescue in connect - Could not connect to Rally at https://rally1.rallydev.com/slm using APIKey credentials
Solution: If your site uses a proxy server to access
Rally
, you will need to set the HTTP_PROXY environment variable to a value that follows this format:
http://username:[email protected]:port.

Best Practices

If you don't find what you are looking for in this section, please check our general Work Item Connectors Best practices here.
Map
Rally
projects
If you copy defects from Micro Focus ALM/Quality Center to
Rally
and are mapping a QC field to the
Rally
Project field, you may see a message like
Could not find
Rally
Project with name ...
in the log file if the connector user does not have editor permissions to that project in
Rally
.
RallyReferenceFieldHandlers are for the most part deprecated.
Prior to the 4.4.2 release, if multiple projects were specified in the configuration file, Release or Iteration value was sometimes mapped incorrectly. By relocating some logic, that issue has been addressed as well as being able to handle the most common
Rally
Reference fields (Project, Release, Iteration) automatically without needing explicit notation in the configuration file. If the configuration file specifies a RallyReferenceFieldHandler for one of those aforementioned fields, the connector will emit a deprecation warning message into the log file and will not register the field handler as that logic is now handled automatically. The are some edge cases where the use of RallyReferenceFieldHandler may be necessary, for fields such as Parent, Child, WorkProject, Owner, and other similar fields.
Pessimistic locking in Micro Focus ALM/Quality Center
When an entity is selected in Micro Focus ALM/Quality Center using your browser, it assumes you are editing the record and therefore locks the entity. The UPDATE_RALLY_TO_QC service will not update a
Rally
artifact to an entity in Micro Focus ALM/Quality Center if you have locked the record (an error in the log file will indicate when this happens).
Map more than one Micro Focus ALM/Quality Center project to a single
Rally
workspace
If you are mapping more than one Micro Focus ALM/Quality Center project to a single
Rally
workspace, there are important considerations to scale this successfully:
  • The IDs of Micro Focus ALM/Quality Center artifacts are not unique across multiple QC projects, which may result in more than one
    Rally
    artifact having the same value for the ExternalID field that corresponds to Micro Focus ALM/Quality Center IDs.
  • If you are updating from
    Rally
    to Micro Focus ALM/Quality Center, note that updates are by default
    Rally
    workspace-scoped, and not
    Rally
    project-scoped. In the scenario when more than one QC project is mapped to the same
    Rally
    workspace, it is recommended that you have
    Rally
    projects within this workspace directly correspond to respective QC projects. Individual configuration files must be created per each
    Rally
    project/QC project pair.
  • Each configuration file has to narrow the scope of
    Rally
    to QC updates to the
    Rally
    project that is currently referenced under the RallyConnection project tag.
Copy or split
Rally
stories that are mapped to Micro Focus ALM/Quality Center requirements
If you copy or split
Rally
stories that already have corresponding requirements in Micro Focus ALM/Quality Center, make sure to delete the value of the ExternalID field. Otherwise, the copy of the original story will still contain the original story's ExternalID field. This is undesirable since it creates many-to-one mapping between
Rally
and Micro Focus ALM/Quality Center artifacts, which will affect the integrity of your data.

Rally
Connector for Micro Focus ALM/Quality Center Revision History

  • 4.9.0-master --- October 2020
    • Defects fixed
      • Disallow and note in the log any attempt to copy a Micro Focus ALM/Quality Center item attachment file that is larger than the
        Rally
        limit of 50 MB, but allow other attachments under the size limit to be copied. The prior behavior stopped processing any other attachments for the item being processed whenever an attachment that exceeded the size limit was encountered.
      • Accommodate RQ_TYPE_ID mapping in OtherEnumFieldHandler. Micro Focus ALM/Quality Center has had two ways of identifying a Requirement type (RQ_REQ_ID - older and obsoleted, and RQ_TYPE_ID - current means). The data type of the RQ_TYPE_ID is an integer and would generate a fault when an actual value was processed in the OtherEnumFieldHandler code which expected a String value. The behavior with this fix enables the use of either RQ_REQ_ID or RQ_TYPE_ID without having to care about the underlying data type of the field.
      • Processing enabled by the <MirrorQCStoryHierarchyInRally /> tag can now mirror a hierarchy present in Micro Focus ALM/Quality Center in which there is a hierarchy of Requirement Folders and leaf level Requirement items (non-folders). Prior to this fix, only a hierarchy involving parent-child Requirements where each element was a non-folder item were processed correctly. When used with a Micro Focus ALM/Quality Center hierarchy including folders,
        Rally
        stories will be created at each level in the hierarchy with the Name of the associated Micro Focus ALM/Quality Center folder item. Those
        Rally
        story items can hold one or more story items which may or may not have their own sub-hierarchy.
  • 4.8.6-master --- September 2019
    • Defects fixed:
      • Fixed defect regarding copying TestSteps associated with Rally TestCase to Design Steps associated with a corresponding Micro Focus ALM/Quality Center TestPlan. Prior to this fix the behavior was that the TestSteps were not copied.
  • 4.8.5-master --- March 2019
    • Defects fixed:
      • Fixed one-to-many mapping for EnumFieldHandler
      • Fixed XML external references
  • 4.8.4-master --- September 2018
    • Defects fixed:
      • Eliminated Nokogiri dependency in Rally to QC test steps
  • 4.8.3-master --- June 2018
    • Defects fixed:
      • Fixed QCUrlAttachmentFieldHandler Fieldhandler error
      • Fixed QCReqLinkFieldHandler Fieldhandler error
  • 4.8.2-master --- June 2018
    • Defects fixed:
      • Message undefined method gsub' for nil:NilClass
  • 4.8.1-master --- May 2018
    • Defects Fixed:
      • undefined method `[]' for nil:NilClass when connecting to HP ALM/Quality Center 12.01
  • 4.8.0-master --- May 2018
    • Enhancements:
      • Unified distribution, requires use of Ruby 2.2.6 for TLS V1.2 support.
    • Changes:
      • Elimination of dependency on nokogiri requires change in the read_config method for all custom field handlers.
  • 4.7.4-master-14 --- 11-July-2017 (REST version)
    • Fixes:
      • Updated code to include the Last Modified field.
      • Updated logic to account for parentheses when using
        <CopySelectors>
        in the
        <QCConnection>
        section.
      • Updated logic to use Parent ID name instead of label when using
        <MirrorQCStoryHierarchyInRally>
        post service.
  • 4.7.2-master-11 --- 14-Nov-2016 (REST version)
    • Fixes:
      • Adjusted Time Zone conversion so Target Date field in
        Rally
        maps correctly to Date Field in HP ALM/Quality Center.
      • Fixed mapping BG_DETECTED_IN_REL to Release: the connector was producing an error indicating the connector could not find Release.
  • 4.7.1-master --- 17-Oct-2016 (REST version)
    • Fixes:
      • Addressed error occurring on CopySelector containing &amp;.
  • 4.7.0-master-8 --- 26-Aug-2016 (REST version)
    • Enhancements:
      • Based on HP ALM/Quality Center REST. Certified for use with HP ALM/Quality Center 12.50
      • Now supports range and subset selectors
  • 4.6.7-master-96 --- 08-Nov-2016 (OTA.dll version / not compatible with HP ALM/Quality Center REST API)
    • Fixes:
      • Adjusted Time Zone conversion so Target Date field in
        Rally
        maps correctly to Date Field in HP ALM/Quality Center
      • Fixed mapping BG_DETECTED_IN_REL to Release: the connector was producing an error indicating the connector could not find Release
  • 4.6.6-master-103 --- 10-Jun-2016 (OTA.dll version / not compatible with HP ALM/Quality Center REST API)
    • Enhancements:
      • Certified for use with HP ALM/Quality Center 12.21 and 12.50.
      • Now supports increased
        Rally
        attachment size limit of 50 MB (upgrade from 5 MB).
    • Fixes:
      • Fixed multiplying attachment issue.
        • The connector will not attempt to copy an attachment from
          Rally
          to HP ALM/Quality Center if it would result in a duplicately named file.
        • Previously, if identically named attachments in
          Rally
          were written to a new unique name in HP ALM/Quality Center and copied back to
          Rally
          , this would result in a large number of attachment files with the same content.
  • 4.6.5-master-94 --- 24-Nov-2015
    • Enhancements:
      • Detecting duplicate
        Rally
        project names will now create an error log and exit condition.
      • Emailer functionality is now process prioritized to allow alert emails to send even if subsequent configuration validation fails.
      • Enhanced credential value encryption.
  • 4.6.4-master-93 --- 16-Nov-2015
    • Enhancements:
      • Brand redesign.
  • 4.6.3-master-92 --- 14-Aug-2015
    • Fixes:
      • Cleaned up log errors when the pre_copy method called on copy_to_rally cannot satisfy the necessary conditions which typically related to missing required fields or fields with a null/blank value.
      • XML includes files containing
        Rally
        URL or Workspace or Project handled properly both before and after credential encryption.
      • QCUrlAttachmentFieldHandler now correctly constructs attachment links to HP ALM/Quality Center 12 attachments.
  • 4.6.1-master-86 --- 18-Jul-2015
    • Fixes:
      • Fixed issue where TestStep content over 2048 bytes resulted in an error where the creation of that TestStep failed and the creation of any subsequent TestSteps for the target test case were not attempted. This issue was addressed by truncating any TestStep content over 2048 bytes and informing by writing a WARNING message in the log file.
  • 4.6.0-master-84 --- 28-May-2015
    • Enhancements:
      • Credentials in the RallyConnection, QCConnection, QCRunConnection sections are now encrypted.
    • Known Issues:
      • (none)
  • 4.5.5-master-81 --- 21-Apr-2015
    • Enhancements:
      • Support for using APIKey in place of
        Rally
        Username and password.
      • Better handling of FieldDefaults and values.
      • Better logging of failed attempt to copy/update items from another system to
        Rally
        .
  • 4.5.4-master-79 --- 02-Apr-2015
    • Enhancements:
      • Better logging for create/update operations when error conditions encountered.
      • Better handling of string fields mapped to
        Rally
        Name, Description, Notes that contain non-ASCII characters.
  • 4.5.3-master-78 --- 07-Mar-2015
    • Enhancements:
      • Added a RallyBooleanFieldHandler.
    • Fixes:
      • Fixed issue in YetiEmailer where header item had leading spaces not accepted by some email servers.
  • 4.5.2-master-74 --- 28-Jan-2015
    • Enhancements:
      • Added support for HP ALM/Quality Center 12.
      • Updated to use
        Rally
        WSAPI v2.0 (instead of 1.42).
  • 4.4.12-maintenance-47 --- 05-Jan-2015
    • Fixes:
      • Introduced a
        <RallyReferenceAttributeLookupFieldHandler>
        configuration element to allow use of a
        <ReferencedFieldLookupID>
        other than 'Name' for the Project, Release and Iteration fields. The use of a
        <RallyReferenceFieldHandler>
        for the Project, Release and Iteration fields was deprecated and the introduction of this field handler can allow similar functionality when the lookup field is intended to be an attribute other than 'Name'.
  • 4.4.11-maintenance-40 --- 19-Nov-2014
    • Fixes:
      • Corrects a change made to
        Rally
        ALM that prevented the connector from copying attachments.
  • 4.4.10-master-72 --- 16-Oct-2014
    • Enhancements:
      • Modified rallyeif-wrk core dependency on rally_api to 1.1.2 (that depends on httpclient 2.4.0) to address SSLv3 security issue.
    • Known Issues:
      • The
        <ValidationStep>
        fieldhandler is broken - DE23409 filed
  • 4.4.4-master-67 --- 18-Sep-2014
    • Enhancements:
      • Improved semantic comparison of
        Rally
        boolean values to strings ('true' / 'false') should result in fewer unnecessary updates.
      • Improved semantic comparison of
        Rally
        decimal values to integers/strings (1.0 should equal 1 or "1") should result in fewer unnecessary updates.
      • Added ability of OtherUserFieldHandler to accommodate HP ALM/Quality Center user names in all caps to compare case-insensitively to
        Rally
        UserName values.
      • Improved comparison of
        Rally
        User to user identifier from HP ALM/Quality Center should result in fewer unnecessary updates.
    • Known Issues:
      • The
        <QCRtfFieldHandler>
        Fieldhander will only process 1 field per Fieldhandler - DE22728 filed. (see QCRtfFieldHandler section for information on multiple field usage.)
  • 4.4.3-master-66 --- 29-Aug-2014
    • Enhancements:
      • Modifications to make parsing RevisionHistory Revision records more robust, especially the Notes field.
  • 4.4.2 --- 30-Jul-2014
    • Enhancements:
      • Common
        Rally
        Reference fields (Project, Release, Iteration) no longer need to have a RallyReferenceFieldHandler configured in the Connector - RallyFieldHandlers section of the configuration file.
      • Mapping of
        Rally
        Reference fields such as Release and Iteration is fully project scoped to ensure that if the DisplayName of multiple Release items is identical, the artifact contains the link to the item associated with the Project setting in the artifact.
  • 4.3.2 --- 05-Feb-2014
    • Fixes:
      • Fixed a bug in QC Test Run Connector in preview mode
  • 4.3.0 --- 16-Jan-2014
    • Enhancements:
      • Upgrade from Ruby 1.9.2-p290 to Ruby 2.0.0-p247.
      • Performance improvement gained by using rally_api rather than rally_rest_api.
      • Added more build tests.
      • QC Connector causes backward time drift when mapping TargetDate to BG_CLOSING_DATE (DE18750).
      • Updated
        Rally
        QC Email User Field Handler (DE18583).
      • The
        <RallyUserFieldHandler>
        was broken (DE18850).
      • Connector would validate only the first configuration file on command line (DE17492).
      • Added
        <SuppressDeprecationWarning>
        XML tag.
      • Upgrade to version 1.42 of the WSAPI.
      • For the 4.3.0 version of this connector, any custom code (such as a custom field handler) will require modifications. A working example (using the QC connector) can be found here.
        Previous method for doing this requires:
        require 'yeti/field_handlers/other_field_handler' require 'rexml/document' class MyCustomFieldHandler < ....FieldHandler .... end
        New way of doing this requires:
        require 'rallyeif/wrk/field_handlers/field_handler' module RallyEIF module WRK module FieldHandlers class MyCustomFieldHandler < ....FieldHandler # See example code in installation directory: # ./field_handlers/my_custom_field_handler.rb end end end end
  • 2.10.0-513 --- 14-Oct-2013
    • Enhancements:
      • Fixed incorrectly listing updated value in log file (DE18019).
      • Updated QC version log message from WARNING to INFO (DE18378).
      • Usability and reliability upgrades for HP ALM/Quality Center Phase 1 (F3823).
      • Create a field handler to map users with a csv (S53878).
      • QC to
        Rally
        defect mapping of non-existent user is handled better (S50159).
      • Logfile incorrectly displayed Release/Iteration Reference and not the actual name (S50389).
      • Connector handles mapping of QC Date/Time in multiple formats to
        Rally
        Date/Time fields (S50391).
      • RequirementFolder did not act like CopySelector during Copy from QC to
        Rally
        (S50265).
      • Check for existence of CrosslinkUrlField in
        <QCConnection>
        section only (S51204).
      • The rally_rest_api interface was replaced with the rally_api to make the code more concise and improve performance (S38419).
      • For test case and test case result: Last Verdict does not change on Iteration Status page when new test case result is created via connector (S50262).
      • Refactored core sync to field level to prevent overwriting (F4214).
      • Added WSAPI 2.0 in EIF Connectors (F3097).
    • Fixes:
      • Management of case sensitive usernames in
        Rally
        and other (DE18025).
      • Lookback Time to copy/update Artifacts is invalid (DE17865).
      • EIF connectors now validate configuration files on command line (DE17492).
      • The has-changed did not correctly compare date fields (DE15628).
    • Known issues:
      • The
        <RallyUserFieldHandler>
        does not properly return a value (DE18850).
  • 2.8.8-225 --- 14-Dec-2012
    • Enhancements:
      • Minor logging improvements.
    • Fixes:
      • DE15642: Email notification of errors and warnings, in the
        <Emailer>
        feature
        , would not send email if the
        <Level>
        was set to
        Error
        .
    • Known issues:
      • When mapping a QC Date/Time field to/from a
        Rally
        Date/Time field, in some cases the connector will fail with:
        Could not parse: Cannot convert "null" into a date. You must use the ISO8601 date+time format.
        This is usually resolved by using the
        <RallyDateTimeFieldHandler>
        .
      • If the SubmittedBy or Owner field is being mapped, and the artifact has a reference to a previously deleted user in one of those two fields, the connector will abort when attempting to get the artifact, with message: "undefined local variable or method `value' for #<RallyUserFieldHandler:0x149be48>"
  • 2.8.6-222 --- 01-Nov-2012
    • Enhancements:
      • Added more logging for
        <LogLevel>
        Any
        </LogLevel>
        .
      • Moved rally_api to revision 0.7.6.
      • Added
        Rally
        URL and user name to connection message.
      • Added ID in log message so user can see what artifact caused an error.
      • Added check for nil return value on tags/keywords.
      • Added more debugging output on connection to
        Rally
        .
      • Improved performance by removing refresh on Workspace read in find-workspace loop.
      • Updated to use rally_api 0.6.0 to fix "requirement is not a valid type" error.
    • Fixes:
      • DE14293: Test folders with spaces in the name would fail.
      • DE14312: When running in PREVIEW mode, connector would exit with error message: "unknown property or method: `length'".
      • DE14473: Duplicate attachments were created on update from QC to
        Rally
        UserStory when filename had special characters.
      • DE14528: An update from
        Rally
        to QC Runs have an extra prefix/append of the html/body tags.
      • DE14592: Two configuration files on the command would sometimes hang.
      • DE14655: Connector errors with "Object Type requirement is not query-able".
    • Known issues:
      • DE15642: The
        <Emailer>
        feature does not send email if the
        <Level>
        is set to
        Error
        .
      • When the connector finishes running in PREVIEW mode, it prints the error:
        INFO : ConnectorRunner.show_preview_message - ------- Preview Mode ------- ERROR : ConnectorRunner.rescue in run_services - Unexpected exception occurred ERROR : ConnectorRunner.exception - Message unknown property or method: `length' HRESULT error code:0x80020006 Unknown name.
  • 2.8.1-211 --- 25-Jul-2012
    • Log file now shows the name of the REF returned by the transform_in() function of a RallyReferenceFieldHandler on the map_fields_to_rally call.
    • Fixed an issue where a project named TEST would be returned erroneously on a query for project TEST+.
    • Change to throw exception on find by ExternalID if results are nil.
  • 2.7.9-207 --- 01-Jul-2012
    • Improved testing code.
    • Fixed issue where attachments were being duplicated if updates were going in both directions.
    • Fixed several minors issues.
    • Adding debug logging to attachment linker.
  • 2.7.6-184 --- 22-May-2012
    • Added
      <RallyToQCTestStepLinker>
      ,
      <ValidationStep>
      Last
      </ValidationStep>
      , and
      <StepFields>
    • Added
      <RelatedObjectLinkers>
      ,
      <QCToRallyTestStepLinker />
    • Added
      <RallyDateTimeFieldHandler>
    • Added
      <Emailer>
      functionality to the
      <ConnectorRunner>
      section.
    • Mods for migrating items from the Test Lab to
      Rally
      TestCases/TestSets/TestFolders.
  • 2.7.4-170 --- 01-May-2012
    • Added ability for FormattedID in QC system to have lower case prefix (us123) or upper case prefix (US123).
    • Added subfield specifications on CopySelectors from
      Rally
      using the precopy feature.
    • Fixed handling of "bad" characters in a Requirement 'Name' field
    • Expanded CopySelector/UpdateSelector criteria expression to include: field = (Foo or Bar)
    • Added facility to specify TestFolder or RequirementFolder ID instead of name (bypasses duplicate folder name issues)
    • Added capability to reflect Story relationships, test case relationships, Defect relationships
    • Added XML include capability so common text can be included as a separate file.