Synchronizing Microsoft Team Foundation Server [pre Sync 4.2] with HPE QC / ALM [pre Sync 3.5]

Task mapping

When synchronizing between Microsoft Team Foundation Server and HPE QC / ALM repositories, it is recommended to use this task mapping:

    <task-mapping conflict-notification-policy="Log">

The use of the proxyStorageAttribute setting is required for Microsoft Team Foundation Server repositories.

Task ID-based attribute mappings

Some of the attributes in HPE QC / ALM repositories and in Microsoft Team Foundation Server repositories can be mapped using task IDs instead of keys, including:

Iteration paths

For the Area path and Iteration path attributes, the value in Team Foundation Server repositories is a hierarchical path, e.g. “Tasktop\Tasktop Sync\Sprint 7\Iteration 3”. HPE QC / ALM repositories use individual attributes for the values in the path (e.g. project\product\sprint\iteration"). A Groovy caster can be employed to pull apart the iteration path from Team Foundation Server and place the parts into their respective HPE QC / ALM attributes. A Groovy caster can then be used to join the parts together in the other direction.

Text Conversion

HPE QC / ALM can display rich text, but Microsoft Team Foundation Server cannot. To ensure that text is legible in both repositories, a rich text caster should be used in the attribute mapping. It is recommended to use this mapping:

		<attribute-mapping>
				<attribute id="task.common.description" caster="html-to-textile"/> <!-- Team Foundation Server -->
				<attribute id="task.common.description" caster="textile-to-html"/> <!-- HPE QC / ALM -->
		</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 HPE QC / ALM and Microsoft Team Foundation Server. Here are some examples of dates:

HPE QC / ALM Microsoft Team Foundation Server
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 HPE QC / ALM tasks have severity and priority, while Microsoft Team Foundation Server tasks have only severity.

It is recommended to use a mapping similar to this:

HPE QC / ALM’s BG_SEVERITY Microsoft Team Foundation Server’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.

HPE QC / ALM Microsoft Team Foundation Server
HPE QC / ALM BG_STATUS Microsoft Team Foundation Server System.State

Person mapping

Person mapping needs a person caster.

Common attributes using a person caster include:

HPE QC / ALM Microsoft Team Foundation Server
BG_RESPONSIBLE task.common.user.assigned

Limitations

The conversion between HTML and textile may not be perfect. In some cases, formatting of text may not be consistent between the repositories.