Jira Cloud → Azure DevOps Description formatting lost

Hi all,

We are using:

  • Exalate v5.36.0
  • Jira Cloud
  • Azure DevOps
  • Visual Connection (Beta)

We’re experiencing a formatting issue when synchronizing the Description field from Jira Cloud to Azure DevOps.

Current setup

The Description field is mapped through the Visual Connection:

Description → Description

Issue

In Jira Cloud the Description contains:

  • Multiple paragraphs
  • Empty lines
  • Lists
  • Basic formatting

After synchronization to Azure DevOps, almost all line breaks and paragraph formatting are lost and the text appears as a large block of text.

What we tried

Based on the HTML/Markdown Conversion Guide, we added the following script on the Jira side:

replica.description = nodeHelper.getHtmlField(issue, “description”)

The synchronization completed successfully and no errors occurred, but there was no noticeable improvement in the formatting in Azure DevOps.

After testing, we reverted the change.

We tested both the Jira-side HTML conversion and Azure DevOps-side processing based on the HTML/Markdown Conversion Guide, but were unable to achieve preservation of paragraphs and line breaks in Azure DevOps.

Question

For a Visual Connection (Beta):

  • What is the recommended approach for preserving Description formatting from Jira Cloud → Azure DevOps?
  • Is additional processing required on the Azure DevOps side?
  • Does the standard Description → Description mapping override a scripted assignment to replica.description?
  • Are there any known limitations of Visual Connections regarding HTML/Markdown conversion?

Any examples for preserving paragraphs and line breaks would be appreciated.

Thanks!

You’ve run into a common challenge when syncing rich text fields like Description between Jira Cloud and Azure DevOps, especially when using Visual Connections. Here’s what you need to know and some practical steps to help:

1. Visual Connection and Description Formatting

  • Visual Connections (Beta) use default field mappings, which do not automatically convert Jira’s rich text (Atlassian Document Format or HTML) to the Markdown format expected by Azure DevOps.
  • This often results in lost formatting—paragraphs, line breaks, and lists can be flattened into plain text.

2. Scripted Assignments vs. Visual Mapping

  • In Visual Connections, the standard field mapping (Description → Description) takes precedence. Any scripted assignment to replica.description (like in Script mode) will be ignored unless you switch to Script mode for that mapping.
  • So, adding scripts in the background won’t affect Visual Connection behavior.

3. HTML/Markdown Conversion

  • To preserve formatting, you need to explicitly convert Jira’s Description to Markdown before sending it to Azure DevOps.
  • This is not handled automatically in Visual Connections. The conversion guide you referenced is for Script mode, where you can use nodeHelper.getHtmlField and then convert HTML to Markdown.

4. Known Limitations

  • Visual Connections currently do not support custom scripting or advanced field transformations, including HTML-to-Markdown conversion.
  • This is a known limitation, and for advanced formatting preservation, Script mode is recommended.

5. Recommended Approach

  • If preserving formatting is critical, consider switching your connection to Script mode. In Script mode, you can use the following approach:
    • On the Jira side, extract the HTML content of the Description.
    • Convert the HTML to Markdown.
    • Assign the Markdown to replica.description.
    • On the Azure DevOps side, ensure the incoming Markdown is mapped to the Description field.

You can find more details and code examples in the official documentation:
How to convert HTML to Markdown for Azure DevOps

Summary Table:

Visual Connection Script Mode
No HTML/Markdown conversion Full control over conversion
No scripting Scripting supported
Formatting often lost Formatting can be preserved

Next Steps:

  • If you want to keep using Visual Connections, you’ll need to accept the formatting limitations for now.
  • For full formatting preservation, switch to Script mode and follow the HTML-to-Markdown conversion guide.

Let me know if you need a sample script for Script mode or further details on switching modes!

Hey,

Thanks for the quick response. I would be interested in knowing how to change from the visual connector to scripting. I am assuming this means that the script has to cover all of the mappings that are now being handled by visual mode. So these will need to be completely replaced by scripting:

If there are guides on how to setup scripting then I should be good to go, but perhaps an example script would be also nice to have :slight_smile: