Synchronizing Pairs of Connectors

Synchronizing IBM RTC (using RTC SDK) with HP ALM and Quality Center

This section shows some common mappings between HP ALM and Quality Center standard task attributes and IBM RTC standard task attributes.

Task mapping

For IBM RTC and HP ALM and Quality Center, you should use this task-mapping:

     <task-mapping type="rule-based" conflict-notification-policy="Comment">

If you really don’t want conflicts noted in the comments, you can use "Log" instead, but it is not particularly dangerous to use "Comment" for IBM RTC and HP ALM and Quality Center synchronizations.

Strings

String attributes do not need to be transformed: they can be synchronized straight across. Here are some examples of simple string mappings that you might want to define in your synchronization rules.

HP ALM and Quality Center Attribute RTC Attribute
BG_SUMMARY Summary
BG_DESCRIPTION Description

It is recommended for rich text attribute such as Description that the “html-copy” caster is used, this is accomplished by selection HTML as the markup language for both RTC and QC in the attribute mapping editor.

Dates

You do not need a transformer for dates when synchronizing between IBM RTC and HP ALM and Quality Center repositories.

Value-mapped attributes

There are several important attributes which do not map directly across. IBM RTC tasks have an “Unclassified” value for both severity and priority, while HP ALM and Quality Center tasks do not. The Severity field is required, so you will need to either:

HP ALM and Quality Center’s BG_SEVERITY RTC’s Severity
5-Urgent Blocker
4-Very High Critical
3-High Major
2-Medium Normal
1-Low Minor

Priority has a similar issue, but is not a required field in IBM RTC as-installed.

HP ALM and Quality Center’s BG_PRIORITY RTC’s Priority
5-Urgent High
4-Very High High
3-High High
2-Medium Medium
1-Low Low

Note that when you make mappings for priority and severity, it is important to make sure that the two different groups using the two different repositories use priority and severity to mean the same thing. It might be that one group uses priority in the same way that the other group uses severity, and vice-versa.

Person Mappings

If your users have the same user IDs on both repositories, then you can synchronize these attributes straight across as strings. If not, then you will need to define person mappings, as described in Person mapping definitions

To use the Person mapping, you need to ensure the task-mapping attribute type is set to rule-based in synchronizer.xml, and add the person mapping information, for each attribute that has a person type, for example:

	<attribute-mapping>
		<attribute key="BG_DETECTED_BY" caster="person"/>
		<attribute key="BG_DETECTED_BY" caster="person"/>
	</attribute-mapping>

Here are some attributes that can need person mappings:

HP ALM and Quality Center Attribute RTC Attribute
BG_DETECTED_BY Creator
BG_RESPONSIBLE Owner

Synchronizing IBM RTC (using Synchronization Rules) with HP ALM and Quality Center

This section shows some common mappings between HP ALM and Quality Center standard task attributes and IBM RTC standard task attributes, for use in creating RTC Synchronization Rules. A good starting point is to make Synchronization Rules in RTC that map the values described in this appendix. If you have custom fields, you will need to add those attributes to the synchronizer, but this will get you started.

Task mapping

For IBM RTC and HP ALM and Quality Center, you should use this task-mapping:

     <task-mapping type="rule-based" conflict-notification-policy="Comment">

If you really don’t want conflicts noted in the comments, you can use "Log" instead, but it is not particularly dangerous to use "Comment" for IBM RTC and HP ALM and Quality Center synchronizations.

Since this is a rule based mapping all the attributes defined in the RTC Synchronization Rules must also be mapped in the synchronizer.xml so that they will be processed by Sync. Due to the way the RTC Synchronization rules maps the attributes the keys for the RTC repository will be the same as the keys of the HP repository, so simplified attribute mappings may be used.

	<attribute-mapping key="BG_SUMMARY"/>

is all that is needed in synchronizer.xml for the mapping defined in the RTC Synchronization rules for the attribute BG_SUMMARY to be applied.

Strings

String attributes do not need to be transformed: they can be synchronized straight across. Here are some examples of simple string mappings that you might want to define in your synchronization rules.

HP ALM and Quality Center Attribute RTC Attribute
BG_DESCRIPTION Description
BG_SUMMARY Summary

Dates

You do not need a transformer for dates when synchronizing between IBM RTC and HP ALM and Quality Center repositories.

Value-mapped attributes

There are several important attributes which do not map directly across. IBM RTC tasks have an “Unclassified” value for both severity and priority, while HP ALM and Quality Center tasks do not. The Severity field is required, so you will need to either:

HP ALM and Quality Center’s BG_SEVERITY RTC’s Severity
5-Urgent Blocker
4-Very High Critical
3-High Major
2-Medium Normal
1-Low Minor
no value no value

Priority has a similar issue, but is not a required field in IBM RTC as-installed.

HP ALM and Quality Center’s BG_PRIORITY RTC’s Priority
5-Urgent High
4-Very High High
3-High High
2-Medium Medium
1-Low Low
no value no value

Note that when you make mappings for priority and severity, it is important to make sure that the two different groups using the two different repositories use priority and severity to mean the same thing. It might be that one group uses priority in the same way that the other group uses severity, and vice-versa.

Person Mappings

RTC Synchronization Rules have no facility for mapping different user IDs from one repository to another. If your users have the same user IDs on both repositories, then you can synchronize these attributes straight across as strings. If not, then you will need to define person mappings, as described in Person mapping definitions

To use the Person mapping, you need to ensure the task-mapping attribute type is set to rule-based in synchronizer.xml, and add the person mapping information, for each attribute that has a person type, for example:

	<attribute-mapping>
		<attribute key="BG_DETECTED_BY" caster="person"/>
		<attribute key="BG_DETECTED_BY" caster="person"/>
	</attribute-mapping>

You will also need to add a line for each attribute that is not a person, e.g.

	<attribute-mapping key="BG_SEVERITY"/>

Note that value mapping is handled by the RTC Synchronization Rules, so you do not need to do any transformations in synchronizer.xml.

Here are some attributes that can need person mappings:

HP ALM and Quality Center Attribute RTC Attribute
BG_DETECTED_BY Creator
BG_RESPONSIBLE Owner

Synchronizing Atlassian JIRA with HP ALM and Quality Center

Task mapping

When synchronizing between Atalassian JIRA and HP ALM and Quality Center repositories, you should use the rule-based task-mapping. As mentioned above, you should use Log for conflict-notification-type, and you probably want to synchronize attachments and comments:

    <task-mapping type="rule-based" conflict-notification-policy="Log">

Most of the attributes in HP ALM and Quality Center repositories and in JIRA repositories can be mapped using task IDs instead of keys, including:

Rich Text Conversion

HP ALM and Quality Center and Atlassian JIRA both can display rich text, but HP ALM and Quality Center stores the text in HTML format; Atlassian JIRA stores it in Confluence (wiki-style markup). To ensure that text is legible in both repositories, you should use a rich text caster. You can use a caster like this:

		<attribute-mapping>
				<attribute id="task.common.description" caster="html-to-confluence"/> <-- Jira -->
				<attribute id="BG_DESCRIPTION" caster="confluence-to-html"/> <!-- HP ALM/QC -->
		</attribute-mapping>

Dates

Dates do not need a date caster when synchronizing between HP ALM and Quality Center and Atlassian JIRA. Here are some examples of dates:

HP ALM and Quality Center Atlassian JIRA
BG_CLOSING_DATE attribute.jira.due
task.common.date.created
task.common.date.modified

Value-mapped attributes

There are several important attributes which do not map directly across from one repository to another, with severity and priority being the most obvious ones.

The priority values in JIRA are stored as numbers (e.g. “5”), even though they display as values (e.g. “Trivial”).

Note that the order of urgence is reversed: critical values in HP ALM and Quality Center tasks are numerically high, while in Atlassian JIRA tasks, they are numerically low. Additionally, HP ALM’s notion of Severity aligns with Jira’s notion of priority; Jira does not have a field with the same notion as HP ALM’s priority field.

We recommend a mapping something like this:

HP ALM and Quality Center’s BG_SEVERITY JIRA’s task.common.priority
5-Urgent 1
4-Very High 2
3-High 3
2-Medium 4
1-Low 5

Person mapping

Person mapping needs a person caster.

Synchronizing Microsoft TFS with HP ALM and Quality Center

Task mapping

When synchronizing between Microsoft TFS and HP ALM and Quality Center repositories, you should use the rule-based task-mapping.

    <task-mapping type="rule-based" conflict-notification-policy="Log">

Strings

Some of the attributes in HP ALM and Quality Center repositories and in Microsoft TFS repositories can be mapped using task IDs instead of keys, including:

Others include:

HP ALM and Quality Center Microsoft TFS

Iteration paths

For Area path and Iteration path attributes, the value in TFS repositories is a hierachical path, e.g. “Tasktop\Tasktop Sync\Sprint 7\Iteration 3”. HP ALM and Quality Center repositories use individual attributes for the values in the path (e.g. project\product\sprint\iteration"). You will probably want to write a Groovy caster to pull apart the iteration path and push it into multiple attributes. You will then need fuse multiple attributes into one iteration path in the other direction.

Text Conversion

HP ALM and Quality Center can display rich text, but Microsoft TFS cannot. To ensure that text is legible in both repositories, you should use a text caster. We recommend this:

		<attribute-mapping>
				<attribute id="task.common.description" caster="html-to-textile"/> <!-- TFS -->
				<attribute id="task.common.description" caster="textile-to-html"/> <!-- HP ALM/QC -->
		</attribute-mapping>

Textile is a wiki markup language that does a reasonable job of conveying rich text intentions in plain text.

Dates

Dates do not need a date caster when synchronizing between HP ALM and Quality Center and Atlassian JIRA. Here are some examples of dates:

HP ALM and Quality Center Microsoft TFS
BG_CLOSING_DATE Microsoft.VSTS.CMMI.Symptom
BG_DETECTION_DATE task.common.date.created
task.common.date.modified

Value-mapped attributes

There are several important attributes which do not map directly across from one repository to another, with severity and priority being the most obvious ones. Note that HP ALM and Quality Center tasks have severity and priority, while Microsoft TFS tasks have only severity.

We recommend a mapping something like this:

HP ALM and Quality Center’s BG_SEVERITY Microsoft TFS’s Microsoft.VSTS.Common.Severity
5-Urgent 1 - Urgent
4-Very High 2 - Very High
3-High 3 - High
2-Medium 4 - Medium
1-Low 5 - Low

Task status also needs a value mapping.

HP ALM and Quality Center Microsoft TFS
HP ALM and Quality Center BG_STATUS Microsoft TFS System.State

Person mapping

Person mapping needs a person caster.

Common attributes using a person caster include:

HP ALM and Quality Center Microsoft TFS
BG_RESPONSIBLE task.common.user.assigned

Limitations

The conversion between HTML and textile might not be perfect. You can construct scenarios where text in one repository will look bad in the other.

Synchronizing Borland StarTeam with HP ALM and Quality Center

Task mapping

When synchronizing between Borland StarTeam and HP ALM and Quality Center repositories, you should use the rule-based task-mapping.

    <task-mapping type="rule-based" conflict-notification-policy="Comment">

Strings

HP ALM and Quality Center Borland StarTeam
BG_SUMMARY Synopsis

Text Conversion

HP ALM and Quality Center can display rich text, but Borland StarTeam cannot. To ensure that text is legible in both repositories, you should use a text caster. We recommend this:

		<attribute-mapping>
				<attribute id="task.common.description" caster="html-to-textile"/> <!-- StarTeam -->
				<attribute id="task.common.description" caster="textile-to-html"/> <!-- HP ALM/QC -->
		</attribute-mapping>

Textile is a wiki markup language that does a reasonable job of conveying rich text intentions in plain text.

Dates

Dates do not need a date caster when synchronizing between HP ALM and Quality Center and Atlassian JIRA. Here are some examples of dates:

HP ALM and Quality Center Borland StarTeam
BG_CLOSING_DATE Microsoft.VSTS.CMMI.Symptom
BG_DETECTION_DATE task.common.date.created
task.common.date.modified

Value-mapped attributes

There are several important attributes which do not map directly across from one repository to another, with severity and priority being the most obvious ones.

StarTeam has only 3 values for severity, so we recommend a mapping something like this:

HP ALM and Quality Center’s BG_SEVERITY Borland StarTeam’s Severity
5-Urgent 2
4-Very High 2
3-High 1
2-Medium 1
1-Low 0

StarTeam has only three values for priority, 101 (Unassigned), 0 (No), 1 (Yes), and so we recommend a mapping like:

|HP ALM and Quality Center’s BG_PRIORITY|Borland StarTeam’s task.common.priority

5-Urgent 1
4-Very High 1
3-High 1
2-Medium 0
1-Low 0
Unassigned 101

Person mapping

Person mapping needs a person caster.

Common attributes using a person caster include:

HP ALM and Quality Center Borland StarTeam
BG_RESPONSIBLE task.common.user.assigned

Limitations

The conversion between HTML and textile might not be perfect. You can construct scenarios where text in one repository will look bad in the other.