---
title: "TFS / Azure DevOps (formerly VSTS) Test Steps Synchronization"
canonical: "https://support.appfire.com/space/TSH/1800341452/TFS%20%2F%20Azure%20DevOps%20(formerly%20VSTS)%20Test%20Steps%20Synchronization"
format: markdown
---
From version 7.2, TFS4JIRA supports bi-directional synchronization of TFS / Azure DevOps (formerly VSTS) Test Steps. Test steps can be mapped to a JIRA text field when workitem type Test Case is mapped

## How to map Test Steps

Please follow the following instruction in order to map **Test Steps**:

1. Map <span style="color: #404040">Work Item Type </span><span style="color: #404040">**Test Case**</span><span style="color: #404040"> to a Jira issue type</span>
2. <span style="color: #404040">Map TFS field </span><span style="color: #404040">**Steps **</span><span style="color: #404040">to a Jira RichText type field</span>
  
  

## <span style="color: #404040">How it works</span>

In TFS / Azure DevOps (formerly VSTS) Test Case, **Steps** is structured and displayed as the screenshot below,

![image](media://98d2a542-1811-4f45-80b5-61ec4a160f99)


After the synchronization Steps will be reflected in a table with 4 columns (Step, Action, Expected result, Step id) in Jira,

![image](media://bb60c2ce-d077-434d-8c57-d1aba36a5641)

> ❌ ### Caution
> ❌ 
> ❌ - If you change the header of the table (Step, Action, Expected result, Step id) in Jira, it will erase the **Steps** in TFS / Azure DevOps (formerly VSTS) due to the failure of conversion.
> ❌ - If the mapped Jira text field contains any content other than the table (Step, Action, Expected result, Step id), this content will be erased when TFS / Azure DevOps (formerly VSTS) → JIRA synchronization happens.
> ❌ - If the mapped Jira text field contains a deformed table, an errors occur and synchronization for Test Steps will not be done:
> ❌ 
> ❌ ![image](media://766e6a51-3b33-4b83-8201-07018381d119)


## Supported formats and limitations

| **TFS** | **Jira** | **TFS → Jira** | **Jira → TFS** |
| --- | --- | --- | --- |
| Test Steps | 4 columns table with headers (Step, Action, Expected result) | :check_mark: | :check_mark: |
| **Bold** | * | :check_mark: | :check_mark: |
| *Italic* | _ | :check_mark: | :check_mark: |
| <u>Underline</u> | + | :check_mark: | :check_mark: |
| Shared Steps | N/A | :cross_mark: | :cross_mark: |
| Shared Parameters | N/A | :cross_mark: | :cross_mark: |
| n/a | Other text formats, images, icons, etc | :cross_mark: | :cross_mark: |
| n/a | Anything that is out of 4 columns table bound | :cross_mark: | :cross_mark: |
| Attachments | Attachments | :warning: | :warning: |


> ⚠️ ### Attachments:
> ⚠️ 
> ⚠️ It is possible to include attachments in Test Case which related to any Test Step.
> ⚠️ 
> ⚠️ ![image](media://82381a27-4a32-4e3d-98fb-bb2e55f1d729)
> ⚠️ 
> ⚠️ The relation to a particular **Test Step** is built by the **Comments** at the Attachment.
> ⚠️ 
> ⚠️ ![image](media://b7ace25e-533d-4ae1-8801-7aafe6714deb)
> ⚠️ 
> ⚠️ 
> ⚠️ These attachments will be synchronized to Jira as regular attachments if the **Attachment Synchronization Mode **in the sync profile is **ON**. However, the relations between attachments and step will not be reflected in Jira after the synchronization.
> ⚠️ 
> ⚠️ ![image](media://2fceec40-1912-42a7-896d-503e188b85fd)
> ⚠️ 
> ⚠️ For Jira → TFS / Azure DevOps (formerly VSTS), attachments will be synchronized without any relations to Test Steps.
> ⚠️ 
> ⚠️ ![image](media://92d2902a-cb6c-459e-a49b-4b73a8efa63a)