Micro Focus ALM/Quality Center
Introduction
ConnectALL supports syncing data to/from Micro Focus ALM / QC 11 and above. Choose Micro Focus ALM as depicted in the below image, to start the configuration.
Supported Entity Types
Defects
Requirements
Test Set Folder
Test Set
Test Case Folder
Test Case
Test Instance
Test Run
Automation Configuration
Configuration of Application Server
To create the application for the ALM/QC Application server, you will need the below details in the configuration screen.
- URL (make sure not to add qcbin at the end of the URL)
- Username / Client ID
- Password / Client Secret
- Authentication Type
ConnectALL supports OAuth authentication for ALM14. If you choose the Authentication Type as OAuth, you will be requested to provide the Client ID and Client Secret.
Entity Mapping
The following entity types are supported for syncing by ALM/QC 11 adapter of ConnectALL:
- Defects
- Requirements
- Test Cases
- Test Instances
- Test Set
The Flow Properties section in Entity Mapping allows you to configure and define the sync requirements using Poll Queries and Attachment URL Markup options.
Refer to the Flow Filter document here to understand the poll query format supported by the ALM adapter of ConnectALL.
Field Mapping
During the field mapping, you can see that the field's internal name (parenthesis) follows the field name; when writing the poll queries, we will use the internal names of the fields, which helps you find these names easily.
Tip
If you are mapping MicroFocus ALM with Tricentis Tosca, you could map ALM’s Test Folder to Tosca’s TestCase Folder and sync the test steps under them.
Tip
When mapping Jira's LinkTypes field ( i.e. _issueLinkTypes) with the _Constant field of MicroFocus ALM QC, you could have the values of linked issues (_issueLinkTypes) such as ‘Blocks’ and map it with _Constant. To achieve this, when mapping Jira and MicroFocus ALM, create two automations between Jira and MicroFocus ALM. Let one link be the parent link and the other one a child. The parent link is for syncing Requirements (i.e.) You could map the issue types story (Jira) and Requirements (QC).
(_constant )Jira —> Requirement (QC)
The child automation is for syncing ‘Defects’ (i.e.) you could map the fields LinkTypes (Jira) and _Constant (QC) where the value of the LinkTypes, ‘Blocks’ is mapped with _Constant)
value Mapping: ‘Blocks’( LinkTypes) with ( _Constant).
Once you’ve done the above mapping,
- Create a record in the parent automation (either in QC or in Jira) and trigger sync. The record will be synced to the destination.
- Create a new defect in the child automation, and sync the child automation.
- Link the defect to the requirement in the first step.
- Sync the parent automation.
- Defects will appear under the ‘blocks’ in Jira when you do so.
Special Field synchronization
User Fields
Mapping User fields like "Detected By" and "Owner" needs a value mapping to be defined. ConnectALL allows you to Import and Export the definitions to these user fields to increase the ease of use and maintain consistency when mapping multiple user fields.
For Value Mapping the user fields by importing/exporting a user list, you must use a CSV file. (CSV template for importing user list)
Comment Fields
ALM stores all the comments in HTML format and makes it next to impossible to identify where the comment body starts and ends. Due to this reason, ConnectALL parses the comments of this field with the following assumptions based on the default colors, fonts, and separators ALM added when clicking on the Add Comment button.
Since ConnectALL uses the comment body to identify the newly added comments; the same body might not be synced to the destination.
- Each comment is separated by a separator which is 40 underscore characters
- The comment author and date are in Arial font with the size of 8pt and blue (#000080) in color
- The comment author format is one of the following: first name and last name are words with no spaces.
- username
- firstname lastname <username>
- firstname, lastname <username>
- The date format after the author is MM/dd/yyyy
Example
- Over a period of time, we have seen many customers whose author name and date formats will not fall under the assumptions described above. We have enabled these users to configure them so that the comments can be parsed properly.
If you want accented characters to be supported in comments and attachments, please enable the Unicode character property in the configuration section of the particular project in the ALM application.
Configuring different date format: If you use any other format other than "MM/dd/yyyy" in your comments, then you can configure the date format used in the Flow Properties section of the Entity Mapping tab as shown below.
Configuring different author formats: If you have any other author format than those listed above, then you can configure the author name format in the ConnectAll.properties file under the $MULE_HOME/conf directory.
As the configuration of this property impacts the comment parsing logic in total, please raise a request in our Support Portal with the requirements for customizing the pattern for your needs.
If by any chance the comment is not parsed properly even after the above configurations, ConnectALL will split the comments based on the separator (40 underscores) as defined above. It will then add the whole comment along with author information, date, and comment as the comment body to the destination application.
Comment Edits
Any comments edited either in ALM or in the destination application will be created as new comments in the destination, which is the default behavior across all adapters in ConnectALL. ConnectALL provides a solution for this editing problem since version 2.1 with the help of a new algorithm called Update Parsing logic.
Update Parsing
When using update parsing logic, ConnectALL generates a Comment ID for each comment added in ALM and then adds it to the existing comment. This will help ConnectALL identify and sync the edited records appropriately without adding any new comments in either the source or destination.
Note: For now, Update Parsing is only enabled for the Automations between Jira 5+ and ALM 11+
Steps to Configure
Configuration for Update Parsing logic
# add below property in $MULE_HOME/conf/ConnectAll.properties
connectall.application.qc.app.parser=generic
Impact of Update Parsing Logic on ALM
- To map the comments, the generated comment ID will be synced back to the ALM. This results in an update of the ALM record. (only when there is a new comment added in ALM.)
- A comment id string is added in the comment body. (It's added in a separate line after the comment body. A user will notice some additional white space because of this.)
- Since the comments are synchronized based on the newly added comment id, the comments with the same body can be synced to the destination.
- If the comment is not parsed correctly by ConnectALL, then the actual comment is overridden with the comment by the author as the Sync User and the actual comment as the comment body.
- The comments with special formatting like tables and bold, italic text will be replicated to and from Jira, but you might also see some inconsistencies.
- Deleted comments will not be added back by ConnectALL.
- When editing a comment, the text added after the Comment ID will be ignored by ConnectALL.
- Any update to the added comment id or formatting will revert the comment to Jira.
Syncing Design Steps of a Test Case
Syncing Design Step information is supported only for QC versions 11.5 and above. Also, Design Steps can only be synced in One direction, that is from QC to another applications. Design Steps in QC will not be created/updated as of today.
ConnectALL now supports syncing of the Design Steps from ALM/QC apart from the basic information of the Test Case. ConnectALL supports syncing "Step Name", "Step Data", and "Expected Result" information only.
To sync the design steps information, you will need to configure the automation for ALM/QC TestCase and map the "Steps" field in ALM/QC Testcase to the corresponding field in another adapter.
Sync Custom Fields of Test Steps
ConnectALL uses a data structure to store the "Step Information", "Step Data", and "Step Result" fields when syncing design steps to other supported applications. The default mapping for the ALM design steps is given below.
Data structure Column | ALM Design Steps Column |
---|---|
Step Info | Step Name |
Step Data | Description |
Step Result | Expected |
If you have custom fields, you can do the customization by using the below properties:
qc.teststep.stepinfo.mapping=AppLink1:user-03,AppLink2:user-02
qc.teststep.stepdata.mapping=AppLink1:user-09,AppLink2:user-07
qc.teststep.stepresult.mapping=AppLink1:expected
ALM/AC design steps can be synchronized to Jira (Zephyr), Testtrack (Seapine), TFS, VSTS and ServiceNow applications only.
- When you synchronize an ALM record/project after modifying a test step alone, and if you want that lone change to reflect in the sync — it will get updated to the other application only when that particular project has version control enabled in it. (i.e) Any lone update will be synced successfully only if you have enabled version control in that particular project that enables you to check in and check out a project.
- If you do not have version control enabled, a lone, isolated modification (i.e. a change in a test step) in a record will not get updated when you synchronize that record. In such a situation, if you want the changes to the test step to sync, then you need to do some other modifications to the record along with the changes to the test step. This will ensure the syncing of that particular change (changes to the test step), when that record is synchronized.
When you link an existing issue with another in an ALM record, and if that's the only change on that record, that change will not be reflected in the synchronization. However, If you make any other modification along with that change, the issue link change will be reflected in the synchronization. The reason is that ALM does not consider linking two issues as a modification/change and the timestamp on that record is not updated. ConnectALL relies on the timestamp of a record that qualifies it to be picked up for processing. As that's the case, if you do a single modification that involves linking of issues, ConnectALL will not pick up that record for processing, and that change will not be reflected when that record is synchronized.
Attachments Sync
The MicroFocus ALM QC adapter supports 'Attachment Deletion'. For more information, click here. The attachments can be synchronized just by mapping the Attachment field in the field mapping.
However, to sync attachments with non-English characters in the filename, the following configuration must be made in the field configuration.
Click on the field configuration icon ()against the Attachment field and choose the Stream Option as "FormData". This selection will ensure non-English character filenames are synced successfully from and to QC.
StreamOption
This field configuration is not mandatory. If not selected, then the default value of the Stream will be picked up.
- Let's say you are resyncing an ALM record (with an attachment) you previously synced (when the delete attachment property was set to false). When you change the property to true, delete the attachment from ALM, and then sync the record, the record will not be deleted on the destination. In this scenario, you must manually delete the attachment from the destination.
- When the delete attachment property is enabled, and If there is a conflict, the attachment deleted in the source will not be deleted in ALM (destination). You will have to delete it manually.
Test Configurations
ConnectALL now supports syncing of the Test Configurations under Test Instances entity from ALM/QC.
ALM/QC doesn't extend support for creation/update of test configurations.
Automatic User Value Mapping
ConnectALL supports Automatic user value mapping for Micro Focus/ALM QC. Below is a screenshot that illustrates this; where
id=User Name
name=Full Name
email=E-mail
For more information on automatic user value mapping and to find out how it works, click here.
Advanced Connection Properties
ConnectALL uses a default timeout of 60 seconds, when connecting to ALM. You can configure the same on a connection level using the Connection Advanced Properties screen.
Steps to Configure
Click Connections from the top navigation bar. The Manage Connections screen will be displayed.
Click the cogwheel icon to edit the existing connection. The Connection Advanced Properties screen will be displayed.
Add the Property Key (API_CONNECTION_TIMEOUT, API_READ_TIMEOUT) and a Property Value as shown below. In the below image, the value for API_CONNECTION_TIMEOUT is set as 70000 ms, and API_READ_TIMEOUT is set as 140000 ms. Note that the default value for the properties API_CONNECTION_TIMEOUT and API_READ_TIMEOUT is 60000 ms and 120000 ms, respectively. If required, you can increase it to the desired value.
- Click Save Properties.