Installation and User Guide for the Rally Connector for Micro Focus ALM/Quality Center
Rally
Connector for Micro Focus ALM/Quality CenterThe
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.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 inRallyas defects
- Copy Micro Focus ALM/Quality Center requirements inRallyas user stories
- Copy Micro Focus ALM/Quality Center tests inRallyas test cases
- Update test runs from Micro Focus ALM/Quality Center toRallytest 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 toRallywork items
- Copy work items created inRallyto Micro Focus ALM/Quality Center entities
- UpdateRallywork items based on changes made to Micro Focus ALM/Quality Center entities
- Update Micro Focus ALM/Quality Center entities based on changes made toRallywork items
- UpdateRallyfields 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:- Rallysubscription
- 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 usingrvmorrbenv). 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 rubybindirectory 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’sbindirectory to environment path variable
- cdto 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.
- Rallyadministrator privileges (subscription or workspace) 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 bothRallyand 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 inRally.
- ARallyadministrator user (subscription or workspace) who can create the custom fields on theRallyartifact you want to reflect in Micro Focus ALM/Quality Center.
- Consider the process you want to set up betweenRallyand 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 testRallyworkspace 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
Rally
Connector for Micro Focus ALM/Quality CenterFollow these steps:
- Download the connector by following the steps here.
- Extract the contents of the zip fileRallyConnectorforHPALM-x.y.z-master-bbb.ziplocally on your machine (such asC:\rallyfor Windows or/Users/username/Downloads/on a MAC).
- Change the directory to the root of the connector installation:cd RallyConnectorforHPALM-4.x.Y-master-z
- 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
- 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)
- Run theinstall_gems.rbRuby 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:
- Using the Micro Focus ALM/Quality Center Desktop Client, navigate to the appropriate domain and project.
- Near the upper-right of the page, select the gear icon and select theCustomizemenu item.
- On the left side of the page, select theProject Entitiesitem.
- Expand Defect or Requirement in the list of project entities.
- Select theUser Fieldsfolder.
- Select theNew Fieldicon (with the green plus symbol above the list of project entities).
- Provide a Field Label for the field, selectField Typeas String with a 40-character limit and leave the default check boxes for all other options.
- SelectSave. A dialog should display that statesThe 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:
- On the Application Lifecycle Management – Project Customization page, select theRequirement Typeson the left side.
- In the column where the the Requirement Types are listed, for each entry select the type name and then mark the check box under theIn Typecolumn for the field you added to the Requirement table.
- SelectSave. A dialog should display that statesThe changes were saved successfully.
Rally Setup for the Micro Focus ALM/Quality Center Connector
Rally
Setup for the Micro Focus ALM/Quality Center ConnectorYou 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.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:
- SelectActions, New Field.
- Enter a Name ofExternalID, Display Name ofExternalID(name and display name must match), and type ofString(Note: This field cannot be of typeText). 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.
- Log intoRallyas a workspace or subscription administrator.
- Select theSetup
icon from the
Rallymenu bar in the upper-right corner of the display. - SelectWorkspaces & Projects.
- Select the workspace that you wish to map to Micro Focus ALM/Quality Center.
- On the workspace's detail page, select theFieldslink 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
Rally
Connector for Micro Focus ALM/Quality Center ConfigurationYou 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 betweenRallyand Micro Focus ALM/Quality Center.
- Test mode – Copy and update Micro Focus ALM/Quality Center test and run artifacts toRallytest 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:
- RallyConnectionDefines the connection information forRally, includingRallyURL, username, and password or APIKey.
- QCConnectionDefines the connection information to Micro Focus ALM/Quality Center including domain name, project name, artifact type, user, and so on.
- ConnectorDefines the field mapping between the two systems. Generally, strings should be mapped to strings, integers to integers, and so on.
- ConnectorRunnerSpecifies 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 inRally(or from test cases inRallyto Micro Focus ALM/Quality Center tests)
- Runs from Micro Focus ALM/Quality Center to the test case results inRally
The following graphic depicts the recommended workflow when using Micro Focus ALM/Quality Center for test management:

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:
- Edit the test configuration file (such as theqc_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>
- Edit the run configuration file (such as theqc_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 forRally, includingRallyURL, username, and password or APIKey.
- <RallyTestResultConnection>
- Defines the connection information toRally, includingRallyURL, username, and password or APIKey. SupportsRallytest 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 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 toRallyas an Attachment
- Copy actual attachments betweenRallyand Micro Focus ALM/Quality Center with the<RallyAttachmentLinker/>option in the configuration file as follows:<Config> .... <Connector> .... <RelatedObjectLinkers> <RallyAttachmentLinker /> </RelatedObjectLinkers> ....Rallyattachments 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 toRally. In such cases, you may use one of the methods below for mapping attachments, which creates a link (URL) inRallythat points to the attachment location in the Micro Focus ALM/Quality Center system (no attachment is created in theRallysystem, just a URL). The<RallyAttachmentLinker/>supports bi-directional mapping between Micro Focus ALM/Quality Center andRally. The URL mapping is supported in the Micro Focus ALM/Quality Center toRallydirection 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 inRally.
- 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) inRally, you can create a URL inRallywhich 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 toTools, 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 toRallydirection.
Micro Focus ALM/Quality Center supports client access from Microsoft Edge. The link to view attachments only works when using Microsoft Edge to accessRally.To use this feature, create a custom field inRallyof 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 andRallyas 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 inRally
- 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 uniqueRallycustom 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 toRally(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 inRallywhere you want to copy or update work items. Special characters in this field must be escaped as in: & must be entered as &, > must be entered as >, < must be entered as <, and so on.Sample values:
- My Workspace
- Dog & Pony WS
- <Projects>
- Required. Contains a list of project tags. Each tag refers to oneRallyproject that will be used when finding newRallywork items to copy to the other system. For updating work items fromRallyto the other system, all projects in <WorkspaceName> are considered. At least oneRallyproject must be specified in this tag. Special characters in this field must be escaped: & must be entered as &, > must be entered as >, < must be entered as <, and so on.Sample values:<Project>Rally1</Project> <Project>Rally2</Project>< <Project>P3&4</Project>
- <User>
- Required. Login name of user to make the Web Services requests to create and update work items inRally.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 (fromRallyApplication Manager) for the account to be used to accessRallyfrom 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 inRally.Sample values:(Defect, defect), (story, user story, hierarchical requirement), test case, test case result
- <ExternalIDField>
- Required.Rallycustom string field (name and display name must be identical) that stores the unique ID for the other system. See Create an ExternalID Field inRally.Sample value: QCID
- <SuppressDeprecationWarning />
- Changes the WARN message aboutRallyWSAPI version deprecation in the logfile to an INFO message.
- <CopySelectors>
- Criteria to use when finding newRallyissues to copy to Micro Focus ALM/Quality Center. An individual selector specification has the form:<field><relation><value>,where:
- <field> is the name of aRallyartifact 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 existingRallyissues 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 aRallyartifact 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 fieldF1to be set to value ofV1.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 ampersand becomes
greater than becomes
less than becomes
Rally
workspace or project name that are markup sensitive. For example:
&
&
>
>
<
<
Example: Research & Development becomes Research & 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 theserver:portis needed. For https (such as accessing a SaaS QC server), usehttps://server:443/qcbinSample 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 toRally. 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 toRally. 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 theRallywork 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 theRallywork 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 inRally. Only populates during copy.Sample value: RallyURL
- <CopySelectors>
- Criteria to use when finding new Micro Focus ALM/Quality Center issues to copy toRally. 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 inRally. 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 fieldF1to be set to value ofV1. 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.See Field Mapping.
- <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>See Map Drop-Down Values.
- <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 ofDest-fieldas the initial string, appends each additionalSrc-fieldNtoDest-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_COMMENTSBG_DESCRIPTIONBG_USER_02.....
- <QCUrlAttachmentFieldHandler>
- Stores a link in theRallyartifact 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 theRallyfield 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 forname-of-field: Any field of typeOwner(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 fromRally.<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 aRallyuser's email address, it returns theRallyuser (and vice versa).<RallyUserEmailFieldHandler> <FieldName>name-of-field</FieldName> </RallyUserEmailFieldHandler>Valid values forname-of-field: User, Owner, SubmittedBy, Tester
- <RallyDateTimeFieldHandler>
- Bi-directional.Rallyto Other: Convert theRallyISO date in fieldF1into a date string formatted as specified by the stringS1(as per Ruby's DateTime.strftime function) and store this new date string into the fieldF1is mapped to.Other toRally: The date string contained in the field whichF1is mapped to, is converted into aRallyISO date (in accordance with Ruby's DateTime.parse) and stored inRally'sF1field. Note that stringS1is 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.See Map Drop-Down Values.<RallyEnumFieldHandler> .... </RallyEnumFieldHandler>
- <RallyTestFolderFieldHandler>
- See example at QC-config-CopyTests2TestCases.pxml<RallyTestFolderFieldHandler> <FieldName>name-of-folder</FieldName> </RallyTestFolderFieldHandler>Sample value: TestFolder
- <RallyConcatFieldHandler>
- Using the contents ofDest-fieldas the initial string, appends each additionalSrc-fieldNtoDest-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 fieldDescriptionsome 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 ofRallyBoolean 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 incomingRallydata 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 andRally(bi-directional). Can be used on any object which supports attachments (inRally: tasks, defects, stories, and tests; in QC: requirements, defects, and tests). For more information, see Map QC attachments.
- <QCReqtoRallyTestWorkProductLinker>
- Thename-of-fieldis theRallycustom 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)Rallytest cases and steps to QC tests and test steps.
- <ValidationStep>
- Tells the connector where to placeRally'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:
- Rallyname-of-field: ExpectedResult
- Othername-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 toRallytest 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 searchesRallyfirst 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 intoRally. 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 theRallyuser 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 aRallyuser 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 inRally, 3) a parent which has no tasks.By default, the QC requirements copied toRallyhave the full QC folder pathname (starting at requirement). To have theRallyfolder 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:
See example.<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> - </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 theRallywork 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 toRally. 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 toRallytest case results (and associated with aRallytest 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
Rally
Connector for Micro Focus ALM/Quality CenterWhen 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:
- 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 inRallyfor 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 correspondingRallytest case:Below is the custom field created for Micro Focus ALM/Quality Center’s Run to hold Object ID of the correspondingRallytest case result:Below is the custom field created forRally’s test case to hold ID of the corresponding Micro Focus ALM/Quality Center test:Note that this is not symmetrical. TheRallyTestCaseResult 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 fromRallyonly support Copy service in one direction (from Micro Focus ALM/Quality Center toRally).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 theRallyside.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.
- After you have created test runs, 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 toRallytest case:Below is a screenshot of the rallylog entry related to the copy of Micro Focus ALM/Quality Center run toRallytest case result:Below is the screenshot of the details page of the newly createdRallytest case. Notice that the Results link on the left shows that there is also a test case result associated with this test case:
Copy Test Cases from
Rally
to Micro Focus ALM/Quality CenterYou can copy test cases from
Rally
to Micro Focus ALM/Quality Center.Follow these steps:
- Create a test case inRally.
- 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 fromRallyis copied to Micro Focus ALM/Quality Center it should go to this folder.
- Run the connector.The test is created in Micro Focus ALM/Quality Center. Notice the TS_USER_01 labeledRallyID field populated with Object ID of the correspondingRallytest case:On theRallyside, 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 toRally, follow the steps described earlier in this document. Note that runs can only be copied from Micro Focus ALM/Quality Center toRally. The connector does not support copy service fromRallyto Micro Focus ALM/Quality Center for test case results.
Update Test Cases from
Rally
to Micro Focus ALM/Quality CenterYou 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:
- Update the test case inRally.
- Run the connector.
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:
- Update the test case in Micro Focus ALM/Quality Center.
- Run the connector. The corresponding test case inRallyis updated.
Link
Rally
Stories to Micro Focus ALM/Quality Center Test CasesYou 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:
- Create a test in Micro Focus ALM/Quality Center.A Formatted ID ofRallyuser story US93 in theRallyWorkProduct field that references a real story inRallyin the sameRallyworkspace 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 toRally, it is linked to a pre-existing user story inRallyby following the steps below. On theRallyside, the linking happens through a WorkProduct field of TestCase object.
- Create a user field in Micro Focus ALM/Quality Center for Test artifact to hold theRallyFormattedID. The field must be a string type.
- Add this mapping to theFieldMappingsection of the configuration file for tests and test cases:<Field><Rally>WorkProduct</Rally><Other>TS_USER_02</Other></Field>
- AddRallyReferenceFieldHandlerto theRallyFieldHandlerssection of the same configuration file.<RallyReferenceFieldHandler> <FieldName>WorkProduct</FieldName> <ReferencedFieldLookupID>FormattedID</ReferencedFieldLookupID> </RallyReferenceFieldHandler> </RallyFieldHandlers>An example of the syntax in the context of theConnectorsection 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>
- Run the connector.The test case is created inRally, linked to aRallystory.
Troubleshoot the Rally Connector for Micro Focus ALM/Quality Center
Rally
Connector for Micro Focus ALM/Quality CenterThe 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 therallylog.login the working directory whererally2_hpalm_connectorwas 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 thelogfiledirectory.
Connector Validation
Before the connector starts reflecting objects between the two systems, it performs these validations:
- Connecting toRallyis successful
- Connecting to the QC system is successful
- TheRallyfields in the field mapping section exist inRally
- 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 toRallyare constantly being added/removed inRally
- 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 multipleRallyprojects where the release and iteration names are identical acrossRallyprojects, 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 inRallyso 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 forError
- Prior to revision 2.8.8, the<Emailer>feature would not send email if the<Level>was set toError(DE15642).
- Duplicate Requirement Names in QC
- InRally, 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 toRallyString Field (DE22249)
Solution: Add the[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"]}<RallyTruncateFieldHandler>to automatically truncate the description.- Errors when Running install_gems.rb
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../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)'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 theconfig.ymlfile 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:Addrubyto the beginning of the command and verify that Ruby is the default app for.rbfiles.ruby rally2_hpalm_connector.rb config.xml -1For 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 credentialsSolution: If your site uses a proxy server to accessRally, 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.
- MapRallyprojects
- If you copy defects from Micro Focus ALM/Quality Center toRallyand are mapping a QC field to theRallyProject field, you may see a message likeCould not findin the log file if the connector user does not have editor permissions to that project inRallyProject with name ...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 commonRallyReference 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 aRallyartifact 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 singleRallyworkspace
- If you are mapping more than one Micro Focus ALM/Quality Center project to a singleRallyworkspace, 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 oneRallyartifact having the same value for the ExternalID field that corresponds to Micro Focus ALM/Quality Center IDs.
- If you are updating fromRallyto Micro Focus ALM/Quality Center, note that updates are by defaultRallyworkspace-scoped, and notRallyproject-scoped. In the scenario when more than one QC project is mapped to the sameRallyworkspace, it is recommended that you haveRallyprojects within this workspace directly correspond to respective QC projects. Individual configuration files must be created per eachRallyproject/QC project pair.
- Each configuration file has to narrow the scope ofRallyto QC updates to theRallyproject that is currently referenced under the RallyConnection project tag.
- Copy or splitRallystories that are mapped to Micro Focus ALM/Quality Center requirements
- If you copy or splitRallystories 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 betweenRallyand Micro Focus ALM/Quality Center artifacts, which will affect the integrity of your data.
Rally Connector for Micro Focus ALM/Quality Center Revision History
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 theRallylimit 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,Rallystories will be created at each level in the hierarchy with the Name of the associated Micro Focus ALM/Quality Center folder item. ThoseRallystory 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 inRallymaps 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 &.
- 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 inRallymaps 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 increasedRallyattachment size limit of 50 MB (upgrade from 5 MB).
- Fixes:
- Fixed multiplying attachment issue.
- The connector will not attempt to copy an attachment fromRallyto HP ALM/Quality Center if it would result in a duplicately named file.
- Previously, if identically named attachments inRallywere written to a new unique name in HP ALM/Quality Center and copied back toRally, this would result in a large number of attachment files with the same content.
- 4.6.5-master-94 --- 24-Nov-2015
- Enhancements:
- Detecting duplicateRallyproject 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 containingRallyURL 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 ofRallyUsername and password.
- Better handling of FieldDefaults and values.
- Better logging of failed attempt to copy/update items from another system toRally.
- 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 toRallyName, 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 useRallyWSAPI 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 toRallyALM 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 ofRallyboolean values to strings ('true' / 'false') should result in fewer unnecessary updates.
- Improved semantic comparison ofRallydecimal 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 toRallyUserName values.
- Improved comparison ofRallyUser 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:
- CommonRallyReference fields (Project, Release, Iteration) no longer need to have a RallyReferenceFieldHandler configured in the Connector - RallyFieldHandlers section of the configuration file.
- Mapping ofRallyReference 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).
- UpdatedRallyQC 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 .... endNew 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 toRallydefect 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 toRallyDate/Time fields (S50391).
- RequirementFolder did not act like CopySelector during Copy from QC toRally(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 inRallyand 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 toError.
- Known issues:
- When mapping a QC Date/Time field to/from aRallyDate/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.
- AddedRallyURL 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 toRally.
- 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 toRallyUserStory when filename had special characters.
- DE14528: An update fromRallyto 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 toError.
- 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 toRallyTestCases/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 fromRallyusing 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.