---
title: "Supported field types mapping"
canonical: "https://support.appfire.com/space/TSH/1800929743/Supported%20field%20types%20mapping"
format: markdown
---
Below you will find support matrix for Jira and TFS / Azure DevOps (formerly VSTS) field types mapping in *Copy value* mode (i.e. the mode in which **TFS4JIRA Synchronizer** tries to automatically convert one value to another). Note than additionally all dictionary Jira fields (i.e. such that have allowed options list defined) can be mapped in *Map values* mode.


|  |  | <span style="color: #000000">**TFS / Azure DevOps (formerly VSTS) field type**</span> |
| --- | --- | --- |
| <span style="color: #000000">**Jira field type**</span> | **Direction** | **String** | **Integer** | **Double/ Decimal** | **Date Time** | **Plain Text** | **Html** | **TreePath** | **Boolean** |
| **Text** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: <sup>(4)</sup> | :check_mark: | :check_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :check_mark: <sup>(1)</sup> | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: | :check_mark: <sup>(4)</sup> | :check_mark: | :check_mark:<sup>(12)</sup> |
| **Free Text** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: <sup>(4)</sup> | :check_mark: | :check_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :check_mark: <sup>(1)</sup> | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: | :check_mark: <sup>(4)</sup> | :check_mark: | :check_mark:<sup>(12)</sup> |
| **Select List** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: <sup>(4)</sup> | :check_mark: | :check_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :check_mark: <sup>(1)</sup> | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: | :check_mark: <sup>(4)</sup> | :check_mark: | :check_mark:<sup>(12)</sup> |
| **Multi Select** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark:<sup> (5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(1)(7)</sup> | :check_mark: <sup>(2)(7)</sup> | :check_mark: <sup>(3)(7)</sup> | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(4)(6)</sup> | :check_mark: <sup>(6)</sup> | :cross_mark: |
| **Number** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: <sup>(2)</sup> | :check_mark: | :check_mark: | :cross_mark: | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(2)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :check_mark: <sup>(1)</sup> | :check_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| **Radio Buttons** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: <sup>(4)</sup> | :check_mark: | :check_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :check_mark: <sup>(1)</sup> | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: | :check_mark: <sup>(4)</sup> | :check_mark: | :check_mark: |
| **Multi Checkboxes** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(1)(7)</sup> | :check_mark: <sup>(2)(7)</sup> | :check_mark: <sup>(3)(7)</sup> | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(4)(6)</sup> | :check_mark: <sup>(6)</sup> | :cross_mark: |
| **Date Picker** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: <sup>(3)</sup> | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: <sup>(3)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: <sup>(3)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| **User picker **<sup>**(9)**</sup> | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :check_mark: <sup>(1)</sup> | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| **Multi User Picker** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(1)(6)</sup> | :check_mark: <sup>(2)(6)</sup> | :check_mark: <sup>(3)(6)</sup> | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(6)</sup> | :cross_mark: |
| **Cascading Select** | TFS / Azure DevOps (formerly VSTS) → Jira | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :cross_mark: | :cross_mark: |
| **Group Picker** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :check_mark: <sup>(1)</sup> | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| **Multi Group Picker** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(1)(6)</sup> | :check_mark: <sup>(2)(6)</sup> | :check_mark: <sup>(3)(6)</sup> | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(6)</sup> | :cross_mark: |
| **Date Time** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: <sup>(3)</sup> | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: <sup>(3)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: <sup>(3)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| **Labels** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(1)(7)</sup> | :check_mark: <sup>(2)(7)</sup> | :check_mark: <sup>(3)(7)</sup> | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(4)(6)</sup> | :check_mark: <sup>(6)</sup> | :cross_mark: |
| **Project Picker** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :check_mark: <sup>(1)</sup> | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| **Single Version Picker** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :check_mark: <sup>(1)</sup> | :check_mark: <sup>(2)</sup> | :check_mark: <sup>(3)</sup> | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| **Version Picker** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :check_mark: <sup>(5)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(1)(6)</sup> | :check_mark: <sup>(2)(6)</sup> | :check_mark: <sup>(3)(6)</sup> | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(6)</sup> | :check_mark: <sup>(6)</sup> | :cross_mark: |
| **URL Field ** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: |
| <span style="color: #000000">**Time Tracking**</span>** ** | TFS / Azure DevOps (formerly VSTS) → Jira | :cross_mark: | :cross_mark: | :check_mark: <sup>(8)</sup> | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :cross_mark: | :cross_mark: | :check_mark: <sup>(8)</sup> | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |
| <span style="color: #000000">**Epic Link**</span>** ** | TFS / Azure DevOps (formerly VSTS) → Jira | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark:<sup>(10)</sup> | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark:<sup>(10)</sup> | :cross_mark: | :cross_mark: | :cross_mark: |
| **Component** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: <sup>(11)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: <sup>(11)</sup> | :cross_mark: |
| **Sprint** | TFS / Azure DevOps (formerly VSTS) → Jira | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: <sup>(11)</sup> | :cross_mark: |
| Jira → TFS / Azure DevOps (formerly VSTS) | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: <sup>(11)</sup> | :cross_mark: |


In version 6.0, TFS4JIRA starts supporting Rank field (TFS) synchronization. However, this only allows one-way synchronization from TFS/Azure DevOps (formerly VSTS) → Jira. 

- It needs to be mapped with a custom field (number/text) in Jira.


In **TFS4JIRA** we added support for Multi Value control add-on for TFS/Azure DevOps (formerly VSTS).

TFS version: [https://witcustomcontrols.codeplex.com/](https://witcustomcontrols.codeplex.com/)

Azure DevOps (formerly VSTS) version: [https://marketplace.visualstudio.com/items?itemName=ms-devlabs.Azure DevOps (formerly VSTS)-extensions-multivalue-control](https://marketplace.visualstudio.com/items?itemName=ms-devlabs.vsts-extensions-multivalue-control)

Fields in TFS/Azure DevOps (formerly VSTS) handled by those add-ons can be mapped to array types of fields in Jira.

In order to synchronize them between Jira and TFS, in synchronizer has to be chosen option "Copy value" ->"attempt type conversion" with custom separator chosen:

![image](media://74df49aa-a1f6-4577-9297-998fd3980294)




<sup>(1)</sup> Source value must be parsable to integer number (e.g. "12345")

<sup>(2)</sup> Source value must be parsable to floating point number (e.g. "3.14159" or "12345")

<sup>(3)</sup> Source value must be parsable UTC time string in one of the the following formats:

- "YYYY-MM-dd HH:mm:ssZ" (e.g. "2013-12-20 16:45:23Z") - time in TFS / Azure DevOps (formerly VSTS) will be converted according to timezone settings
- "YYYY-MM-dd HH:mm:ss" (e.g. "2013-12-20 16:45:23") - time in TFS/ Azure DevOps (formerly VSTS) will be exactly the same as in Jira
- "YYYY-MM-dd" (e.g. "2013-12-20") - time in TFS / Azure DevOps (formerly VSTS) will be exactly the same as in Jira and hour will be set to 00:00:00

<sup>(4)</sup> With partial Jira Markup ↔ HTML support

<sup>(5)</sup> Source value is treated as values list separated with commas (e.g. "foo, bar, baz" is treated as the following list: "foo", "bar", "baz")

<sup>(6)</sup> Source values are joined as single comma separated value (e.g. "foo", "bar", "baz" elements are concatenated as "foo, bar, baz")

<sup>(7)</sup> First source value element is taken

<sup>(8)</sup> Jira time tracking fields should be mapped to fields of type double / decimal in TFS / Azure DevOps (formerly VSTS). We assume that time in these fields in TFS / Azure DevOps (formerly VSTS) is stored in hours.

<sup>(9)</sup> User picker fields can be automatically mapped in Jira and TFS / Azure DevOps (formerly VSTS), provided that both Jira and TFS / Azure DevOps (formerly VSTS) server are connected to the same Active Directory instance and therefore share their user account data. Please see page [Synchronizing user fields](https://appfire.atlassian.net/wiki/spaces/TSH/pages/1800243179) for details.

<sup>(10)</sup> Epic Link field is synchronized only when creating new Work Item or Issue and any later changes will not be synchronized.

<sup>(11) </sup> See [Synchronizing Area Path and Iteration Path fields](https://appfire.atlassian.net/wiki/spaces/TSH/pages/1800929786) for more information on synchronizing these fields.

<sup>(12)</sup>  Allowed values are only "true" and "false" (case insensitive).