Synchronizing Incidents with TFS


Enterprise Tester is fully integrated to support the synchronization of both requirements and incidents with TFS. Enterprise Tester supports full bi-directional synchronization of requirements and incients with work item in TFS.  Key Features include:

  • Configurable import filtering by: Type, Status and Priorities;
  • Configurable synchronization schedules;
  • Configurable synchronization direction  and
  • TFS work Item ID on the requirement in ET.

Once the TFS connection has been created (see External Systems), you can begin associating projects in TFS with projects in Enterprise Tester. Project links can be created and managed either from the Resources tab on your tree view navigator or on the External System Links tab.

External System Links Tab

From the Admin tab, Expand Extensions and double click on External Systems.  From the External Systems summary grid, double click the External System you wish to create a link for.  Then navigate to the Links tab. Click on Add from the tool bar.

 

The Add External System Link screen will appear.  Complete the name and select the Link Source.  This is the entity type you wish to synchronize.

 

 

Once you have selected the Source, additional fields to configure the ET project and the TFS project will appear.

 

 

Once you have completed the screen click on OK.  The External Links Details screen will appear.  See the Field Configuration section below. 

Resources Tab

From the Resources tab, click to expand Project Links. To view all configured links for your project, double click on your project.

To create a new project link select New from the toolbar or from the navigator you can right click on your project and select Add New Project Link from the menu or from the navigator you can right click on your project. Complete the details selecting the TFS connection that you created in the steps outlined in the above section, and your TFS project to link to. Now click on Save.

Once the project link to TFS has been created, Enterprise Tester will initiate a refresh of all the metadata. This may take a few minutes.

Field Configuration

Once the Refresh Lookups completes the next step is to configure Enterprise Tester inbuilt fields to TFS fields.

 

ET Configuration

There are no options in this section for incident synchronization links because Enterprise Tester will synchronize all incidents created in ET for this project with the TFS project configured.  If you have more than one TFS project configured to synchronize with this project, you can select which project you wish to synchronize with on the incident screen.  You can also choose to synchronize ET incidents with more than one TFS project provided that you have set up multiple project links.

External System Configuration

If you are synchronizing incidents created in TFS to Enterprise Tester, you can specify criteria to filter the incidents that will be selected for synchronization.

Filtering options include:

  • Type
  • Statuses
  • Priorities
  • Components
  • Versions

 

 

If no filter criteria is selected all work items logged in the TFS project will be in scope for synchronization. 

Refresh Lookups

When a project link is created a Refresh Lookups kicks off.  This process finds all the TFS field values for your project to populate the picklist (select list) for this screen.  If you do not see any TFS values in the drop down list or an incomplete list is presented, click on Refresh Lookups to update the picklist values.

Field Configuration - Mappings

On the Mappings tab, the Synchronize Entities option is pre-selected. The selection of this option will ensure that incident and tasks are synchronized.  If the Synchronize Entities is not selected, then only the Tasks will run. See the Task section for more detail.

This screen displays two tabs for outlining and configuring the steps undertaken when synchronization is initiated.

• One tab for mapping fields from Enterprise Tester to the external system (TFS).
• One tab for mapping fields from the external system (TFS) to Enterprise Tester

 

Enterprise Tester to TFS Mappings

The next step is to configure Enterprise Tester inbuilt fields to TFS fields.  On the ET to External System Tab, there are four activities that are set to run on Synchronization of an incident:

Task

Configurable

Description

Map Fields

Yes

Allows a set of mappings to be configured to transfer information between the source and destination system.

Map Attachments

No

Synchronizes the set of attachments between Enterprise Tester and External System (e.g. TFS). This will add new attachments that have not been synchronized previously, and remove previously synchronized attachments that have since been removed.

Synchronize CommentsYesSynchronizes all comments added in either ET or TFS to the other system.

Add Trackback Comment

Yes

Adds a comment to the synchronized TFS requirement with the following text: Linked to Enterprise Tester incident - e.g. Requirement: http://server/EnterpriseTester/#/incident/edit/04e7f9e5-5784-4e94-a863-9ef600f0a935 (Name: ) If a comment already exists with the same value, then the comment is not added.

This task will be disabled by default, as its functionality is superseded in TFS by Enterprise Tester's support for creating remote links.

 

The Map Fields activity is the only configuration you will need to complete on this screen.  Note that it is the only activity that displays false in the Configured column. To configure the field mappings, click to select Map Field and click Config from the toolbar.

The Configure Field Mappings screen will appear and all ET inbuilt fields have pre-set mapping to TFS inbuilt fields.

Some fields will require mapping or confirmation of the pre-configured mappings.  These will be marked as false in the Configured column.

 

Several configurations are automatically created consisting of Copy Field type mappings and direct Map field type mappings.

The Copy Field type mappings are already configured and the value will be copied from Enterprise Tester to TFS on Synchronization:

  • Copy Field – Copy from ET: Name (field) to External System: Summary (field)
  • Copy Field – Copy from ET: Description to External System: Description (field)
  • Copy Field – Copy from ET: Created By (field) to External System: Reporter (field)
  • Copy Field – Copy from ET: Assigned To (field) to External System: Assignee (field)

The Map field type mappings require the field values to be mapped. You can see under the column Configured = False that the values for these fields has not yet been mapped:

  • Map Field – Map from ET: Type to External System: Type
  • Map Field – Map from ET: Priority to External System: Priority
  • Map Field – Map from ET: Status to External System: Status
  • Map Field – Map from ET: Resolution to External System: Resolution\
  • Map Field – Map from ET: Components to External System: Components
  • Map Field – Map from ET: Fixed Versions to External System: Fixed Versions
  • Map Field – Map from ET: Affected Versions to External System: Affected Versions

It is recommended that you align your TFS and Enterprise Tester picklist values in advance of this configuration and all values will automap.

 

  1. To complete the field mappings, click on the field row and select Edit from the tool bar.
  2. Complete mapping Enterprise Tester field values to TFS field values.  Where picklist values in ET and TFS are exact matches,  the mappings will be automatically configured.
  3. Click Save Changes.
  4. Complete mapping field values for all fields following steps 1-3.

 

 

TFS to Enterprise Tester Mappings

The next step is to configure TFS to Enterprise Tester field mappings.  On the External System to ET tab, there are also four activities that are set to run on Synchronization of an incident:

Task

Configurable

Description

Map Fields

Yes

Allows a set of mappings to be configured to transfer information between the TFS and ET.

Map Attachments

No

Synchronizes the set of attachments between from TFS to ET. This will add new attachments that have not been synchronized previously, and remove previously synchronized attachments that have since been removed.

Synchronize Comments

Yes

Synchronizes all comments added in TFS to ET.

Add Trackback Comment

Yes

Adds a comment to the synchronized TFS bug work item with a trackback link to the ET incident: Linked to Enterprise Tester incident - e.g. Incident: http://server/EnterpriseTester/#/incident/edit/04e7f9e5-5784-4e94-a863-9ef600f0a935 (Name: ) If a comment already exists with the same value, then the comment is not added.

 

 

Note that all activities are pre-configured including the Map Fields activity. To view the fields that are pre-configured to synchronize, click on Map Field and then click Config from the toolbar.

The Configure Field Mappings screen will appear and a number of TFS inbuilt fields have pre-set mapping to ET inbuilt fields.  These are configured as either Copy Field or Automap field type mappings.

 

The Copy Field type mappings are already configured and the value will be copied from Enterprise Tester to TFS on Synchronization:

  • Copy Field – Copy from External System: Name (field) to ET: Summary (field)
  • Copy Field – Copy from External System: Description to ET: Description (field)
  • Copy Field – Copy from External System: Created By (field) to ET: Reporter (field)
  • Copy Field – Copy from External System: Assigned To (field) to ET: Assignee (field) 

The Automap field type mappings are also already configured.  The Automap field type will update the ET field picklist with new values from TFS when they are detected on a incident that is being synchronized from TFS.  Note that this feature does not update all new picklist values that have been added to TFS but only those that have been detected on an incident that is being synchronized.  See the Task section below for more information about automatically updating your picklist values from TFS. 

  • Automap Field – Automap from External System: Type to ET: Type
  • Automap Field – Automap from External System: Priority to ET: Priority
  • Automap – Automap from External System: Status to ET: Status
  • Automap – Automap from External System: Resolution to ET: Resolution
  • Automap – Automap from External System: Components to ET: Components
  • Automap – Automap from External System: Fixed Versions to ET: Fixed Versions
  • Automap – Automap from External System: Affected Versions to ET: Affected Versions
Adding New Field Mappings - Configuring Custom Fields

Custom Fields can be synchronized from ET.  A little set up is required to selected and configure the fields that you wish to synchronize. 

From the Map Fields screen,  you can add a new field to you synchronization configuration.  To do this click on Add on the Configure Field Mappings screen.

The Add Mapping dialogue will appear.  

Here select the type of mapping you wish to create:

TypeDescription
Automap Field

Automap Field mapping will automatically map all matching field values in ET and TFS so that it is not necessary to do this manually.

In addition when synchronizing in the TFS to ET direction, new field values detected on synchronize from your external system (TFS) will be added to the ET field value picklist if they don't already exist. Using this type of field mapping eliminates duplicate field management in TFS and in ET. It will also allow incident synchronization to complete even when map values already exist. This type of mapping is useful for fields like Versions and Components which tend to continually grow.

This type of mapping should be used when your picklist values in ET and TFS are the same.

Supported field types include, Combo box (select lists), Multiselect List, Radio Button Groups and Checkbox Groups.

*Note: that this feature does not synchronize the picklists between TFS and ET but it does add values to the ET picklists when new values are detected on incidents during synchronization.
**Note: automapping of components and versions from ET to TFS are supported as well. 

Copy FieldCopy field will copy the text from your TFS issue to the mapped field in ET. This is recommended when synchronizing text fields.
Set Field to Value

Set field to value field mapping allows you to specify a value to populate the field in ET with regardless of the values in TFS.

All Field types are supported.

Set Field to Value (if it's null or empty)

Set field value field mapping allows you to specify a value to populate the field in ET with, if the field does not currently have a value set/is null.

All Field Types are supported.

This mapping type is useful for setting a default value, if the value was not populated by a previous mapping (and so when used in this way, the mapping should appear at the bottom of the list of field mappings). 

Map Field

The Map field option allows you to manually map the field values in ET with those of TFS. This is useful when your your picklist values in TFS are different to your picklist values in ET.

ET will automatically map any exact value matches when first displaying the mapping configuration screen.

Supported field types include: Combo box (select lists), multiselect list, radio button groups and checkbox groups.

 

Automap

When configuring an Automap Type field,  you will only need to select the TFS and ET fields that you are mapping.  Auto mapping should be used when your ET and TFS picklist values are exactly the same, it will automatically map the exact matching values and when Synchronizing in the ET to TFS direction it will also add new values detected from TFS to your 

Copy

When configuring a Copy Field Type field,  you will only need to select the TFS and ET fields that you are mapping.  The text or value from the source incident will be copied to the incident in the other system.

Set Field to Value

On synchronization you can set a value for a field to a specified value.  You only need to specify the field in ET and the the value you would like to set.

 

Set Field Value to ( if null or empty)

If the field value is null or empty can you set the field to be set to a specified value.  For this configuration select the field and the value to set.

Map

When using the map field configuration, you will be required to manually map the field values.  This is useful when the values in ET and TFS are different or if you have more that one value that will map to the same value in the other system.

To complete this configuration, you will need to choose ET and TFS fields whose values will be synchronized and then you will need to complete mapping any values that do not exist in the system that you are synchronizing to.  All values that have exact matches in both systems will automatically be mapped.

 

 

Tasks

In addition to synchronizing requirements and incidents between TFS and ET you can also set up tasks to synchronize picklist field values.  A good example of when this would be useful are the fields Versions and Components.  

Versions and Components are normally being added to over time - and this can be a burden to then have to replicate these changes in Enterprise Tester manually.

A good way of managing the consistency of of the field values in TFS with the field values in ET is to set up a task to update the full list of picklist values on synchronization.  This will ensure that your picklist values are always up-to-date with the field value list in TFS without having to manually manage the task.

By default, tasks are pre-configured for versions and components.

This feature supports both inbuilt and custom fields. The following field types are supported: Combobox (single select list), Multi- Select List, Checkbox Group,Radio Button Group.

To set up a picklist synchronization task. Navigate to the Task tab on your project link configuration screen.

Click on Add from the toolbar and enter in a name for your task and click OK.

Next, select your TFS Field and your ET Field and click on Save.

 

The task is then created, and is displayed in the tasks grid.

 

From the grid you can see that you are able to configure or disable/enable each task.

Scheduling Synchronization

Now that your configuration and field mappings are complete you are ready to synchronize.  By default, for incidents, the following schedules are pre-configured. These schedules replicate the functionality that was available in V4.8 and earlier:

  1. Periodic schedule occurring every 1 minute, from the external system which will update all incidents that have been updated since the last synchronization.  This is conditional on having been previously synchronized.
  2. Synchronize on change in ET in the direction of ET to TFS.  A synchronization of all incidents added or updated in ET  since last synchronized will be initiated at the time a change occurs to an incident.  This synchronization only updates TFS with the changes made in ET. 

 

The synchronization frequency can also be configured from the Schedules tab. There are 3 options that can be configured:

  1. Adhoc
  2. Periodic
  3. Daily

Type

Scope

Direction

Period

Time

Adhoc

You can choose to only update entities since the last synchronization or synchronize all.

Four options:
• To External System (From ET)
• From External System ( To ET)
• Bi-Directional (External System changes will synch first)
• Bi-Directional (ET changes will synch first).

N/A

N/A

On Change

The scope can not be changed - it will only synchronize those incidents which have just been changed in Enterprise Tester.

Only supported in the ET to TFS direction.

N/A

N/A

Periodic

You can choose to only update entities since the last synchronization or synchronize all.

Four options:
• To External System (From ET)
• From External System (To ET)
• Bi-Directional (External System changes will synch first)
• Bi-Directional (ET changes will synch first).

Specify the synchronization frequency in minutes.

N/A

Daily

You can choose to only update entities since the last synchronization or synchronize all.

Four options:
• To External System (From ET)
• From External System (To ET)
• Bi-Directional (External System changes will synch first)
• Bi-Directional (ET changes will synch first).

N/A

Specify the time using the (24hr clock) when the synchronization will occur daily.

Once you have configured your synchronization frequency, a summary of the configured synchronization schedules is available. You can see the time of the Last Run, the Next Run (if applicable), whether the schedule is enabled or not and the current Synchronization Status.

You can use the tool bar to add a new scheduled synchronization, delete an existing configuration, enable or disable an existing schedule, configure an existing schedule or manually initiate a synchronization.

Synchronization History

You can view the synchronization history from both the synchronization configuration screen and the individual synchronized entities. From the configuration screen you can view all synchronization events, select to only view errors, export the synchronization events to a .CSV file or clear the history.

Deleting project links will stop the synchronization between Enterprise Tester and your external system. When deleting the link you will have the option to delete the link and remove all external link references or to retain these references. 

If you delete and elect to "keep references" then previously synchronized entities will still list the remote entities (JIRA issues / TFS work items) that they have been synchronized to, in their remote links list.

Even if you chose to remove references, this will only apply to Enterprise Tester, JIRA issues / TFS work items will still contain trackback links and remote links referring the Enterprise Tester entity they were synchronized with. This information must be removed manually.

Limitations
 

  • Auto-map from ET to TFS is only supported for the component and version fields, and its use is generally discouraged (adding versions and components to your defect tracker generally makes more sense, so that you can populate additional information  -  which Enterprise Tester does not support).