Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to Set Up a Jira ServiceNow Integration

Want to sync your Jira Service Management instance with your ServiceNow platform?

Your teams can use a Jira ServiceNow integration to improve collaboration and share relevant data back and forth. Connecting these platforms ensures data is never lost in manual updates and emails. Stay on top of things, always!

So, how do you connect Jira and ServiceNow to ensure you have a two-way, real-time synchronization?

I'll show you how to do this using Exalate. For those of you who are unfamiliar with Exalate, here is a quick overview.

Exalate is a script-based integration solution that helps you synchronize data between multiple tools like Jira, Jira Service Management, ServiceNow, Azure DevOps Cloud, Azure DevOps Server, Salesforce, Zendesk, Freshservice, Freshdesk, Asana, GitHub, and more. With its Groovy scripting engine, you can set up deep integrations between Jira and ServiceNow and sync in any way you want. There is no limitation on data mapping or advanced logic. Sync anything that your use case requires.

Exalate also offers a unified management console where you manage all integrations from a single interface. You get AI-assisted configuration through Aida, Test Run to validate sync scripts before production, script versioning with full audit trails, and real-time sync with complete queue visibility.

Another option for integrating Jira with ServiceNow is IntegrationHub's Jira Spoke, but the major drawback to using this solution is that it has a limited scope and can be expensive. Also, ServiceNow is in the driving seat of this integration, so you cannot expect an ongoing bidirectional sync. Other integration apps available in the marketplace are also limited in scope, and you cannot implement any kind of advanced use cases with them.

What Data Can You Sync Between Jira and ServiceNow?

Before jumping into the setup, it helps to know what Exalate can synchronize between these two platforms.

Standard fields you can sync include work items (stories, bugs, tasks, epics in Jira mapped to incidents, change requests, problems, RITMs in ServiceNow), comments and work notes, attachments, status and workflow transitions, assignees, reporters, priorities and urgency levels, and dates.

For advanced synchronization, you can sync custom fields, SLA information, time tracking data, parent-child relationships, CMDB configuration items, and practically any data available via REST APIs.

4 Steps to Get Started with Your Jira ServiceNow Integration

Step 1: Log in to Exalate and Create a Workspace

Go to the Exalate app and log in. New users can create an account by entering their email and verifying it, or by signing up with Google.

Once logged in, create a workspace to organize your integrations. Click the "+ Create Workspace" button, enter a name and description, and click "Create workspace" to confirm. Workspaces help you manage all your connections in a single place.

Step 2: Connect Jira to ServiceNow

Within your workspace, click "+ Add connections" > "Create new connection" to start setting up your Jira ServiceNow connection.

image8.png

Enter the name for your first system (System A). You can name either Jira or ServiceNow as System A. It does not matter which one goes first.

Enter the URL of your system. For example, if you start with ServiceNow, enter your ServiceNow instance URL. Exalate automatically detects the system type and prompts you for authentication. ServiceNow uses Basic authentication, and Jira uses OAuth.

Complete the same setup process for the second system. Give your connection a name and description, then review the details and click "Create connection."

 

image7.png

When the connection is ready, select "Continue to configuration" and choose a Jira project you want to use for synchronization.

Step 3: Set Up Your Sync Rules

After creating your connection, you have two configuration options: "Quick Sync" and "Edit & Test."

 

image2.png

Quick Sync lets you publish the starter configuration and sync one item between Jira and ServiceNow to verify that everything works. Enter a work item key in Jira or an incident number in ServiceNow, then click "Sync Now."

Edit & Test opens the draft editor, where you can customize sync rules. Click "Create a new version" or "Open latest draft" to start editing without affecting your live configuration.

Sync rules are Groovy scripts that control your synchronization behavior. Depending on your needs, you can edit these rules to sync records unidirectionally or bidirectionally between Jira and ServiceNow. Map and sync custom fields, statuses, priorities, assignees, reporters, comments, attachments, third-party fields, and much more.

 

image1.png

The scripts are divided into incoming and outgoing scripts:

  • Outgoing script: Defines what data leaves your system (e.g., from Jira to ServiceNow).
  • Incoming script: Defines how incoming data is mapped in the destination system.

The Replica works like a message payload and holds the actual data passed between the synced entities in JSON format. To stop something from syncing (for instance, attachments from Jira to ServiceNow), simply remove that script line from the outgoing Jira script.

Here is a sample line of code for custom fields:

entity.resolution_notes = replica.customFields."Jira custom field name".value

This maps the custom field value coming from Jira to the resolution notes in ServiceNow.

You can also add advanced conditions and logic to the sync rules. If you don't want to sync certain fields, you can simply delete or comment out those script lines.

Use Aida for AI-assisted configuration

If scripting is not your thing, you can use Aida to generate scripts for you. Aida is available in both incoming and outgoing script sections.

For outgoing scripts, describe what data should leave your system. For example, "Exclude attachments" or "Only sync high-priority work items." For incoming scripts, describe how incoming data should be applied. For example, "Map statuses" or "Set a default assignee if the user can't be found."

 

image6.png

 

Based on your existing scripts and Exalate's scripting API, Aida generates working Groovy scripts with proper field mappings. Review the suggested changes (green highlights show additions, red highlights show removals) and choose to "Insert" or "Discard" each suggestion.

Validate with Test Run

Once your sync scripts are ready, use the "Start Test Run" option to validate them against real data before going live. Select the items you want to test, click "Start Test Run," and review how the sync configuration will be applied.

Review the incoming and outgoing replicas, verify field mappings, and if needed, go back and adjust your scripts. Deploy only when you are confident everything works correctly.

image5.png

Once everything matches your needs, click "Publish Version" to apply the updated configuration to your live synchronization. All versions for a connection are available in the "Version" dropdown. You can view Active, Draft, or Archived versions and roll back if needed.

Step 4: Automate Your Sync with Triggers

Triggers are conditions that control how your sync starts automatically. Once the condition is fulfilled, the connection carries out the operation.

On Jira, you can configure triggers using Jira Query Language (JQL). On ServiceNow, use the ServiceNow advanced search syntax.

Click the "+ Add trigger" button to start creating triggers. These triggers are platform-specific.

 

image3.png

 

Here are sample JQL triggers:

  • project = DEMO AND labels = sync
  • project = XProject and assignee = JDoe
  • worklogDate > startOfWeek()

Here are ServiceNow triggers using the search syntax:

  • short_descriptionLIKETest - sync incidents that include "Test" in the description
  • urgency=1 - sync incidents with urgency of 1
  • caller_id=1234xyz - sync all incidents with the matching caller ID

That's it! Your data will sync automatically based on the rules and triggers you have set.

Troubleshooting with Exalate AI: Aida

Troubleshooting errors is a natural part of synchronization, especially with script-based tools that allow complex workflows.

Aida helps you troubleshoot errors faster by offering clear, context-aware suggestions. Go to the "Troubleshooting" tab of your workspace, hover over any error, and click the Aida icon. You will see a short explanation of the error and a proposed solution. You can also view the full analysis, error details, and replicas for further debugging.

 

image4.png

 

Advanced Jira ServiceNow Integration Use Cases

  • Sync ServiceNow change requests and Jira work items
  • Sync any entity available via REST APIs
  • Sync third-party plugin fields between Jira and ServiceNow
  • Orchestrate end-to-end Jira ServiceNow business workflows
  • Integrate multiple ITSM systems like ServiceNow and Jira Service Management
  • Connect multiple ServiceNow incidents to a single Jira work item
  • Sync urgency and priority between ServiceNow and Jira
  • Display correlation details from Jira work items in ServiceNow
  • Sync ServiceNow change requests, RITMs, problems, catalogs, tasks, and other entities with Jira
  • Automate incident creation in ServiceNow from Jira labels
  • Sync SLA records and maintain state updates across both platforms
  • Keep internal comments private while syncing work notes bidirectionally

To learn more about syncing possibilities between Jira and ServiceNow, get in touch with our team to discuss your use case.

1 comment

francis
Atlassian Partner
March 3, 2024

Watch the video of a Jira ServiceNow integration here 

:point_right::skin-tone-2: https://bit.ly/42UFk1v

 

 

 

 

 

 

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events