IT CanvassTalk to an advisor
Integrations ยท LessonBy , ServiceNow Architect ยท Updated

ServiceNow - Jira integration

Sync incidents and stories between ServiceNow and Jira.

Quick answer

This guide walks through a real-time, bi-directional ServiceNow ↔ Jira integration using IntegrationHub and the Atlassian Jira spoke, so a ServiceNow incident or problem creates a Jira issue and status/comments flow both ways.

Key takeaways
  • Prerequisites
  • Step 1, Create Jira credentials
  • Step 2, Install the spoke & create a connection
  • Step 3, Map the fields
  • Step 4, Build the outbound flow (ServiceNow โ†’ Jira)

This guide walks through a real-time, bi-directional ServiceNow ↔ Jira integration using IntegrationHub and the Atlassian Jira spoke, so a ServiceNow incident or problem creates a Jira issue and status/comments flow both ways.

Prerequisites

  • ServiceNow: admin plus the IntegrationHub subscription (Starter/Standard) and the Atlassian Jira spoke from the Store.
  • Jira: a site admin account and a project to write to (note its project key, e.g. ENG).
  • A Jira API token or an OAuth 2.0 app for the service account.

Step 1, Create Jira credentials

  • In Jira, go to Atlassian account → Security → API tokens and create a token for the integration service user.
  • For OAuth instead, create a 3LO/OAuth 2.0 app in the Atlassian developer console and record the client ID and secret.

Step 2, Install the spoke & create a connection

  • Install Atlassian Jira spoke from the ServiceNow Store.
  • Go to Connections & Credentials → Connection & Credential Aliases and open the Jira alias the spoke created.
  • Add a Connection record with your Jira base URL (https://your-domain.atlassian.net) and a Basic Auth credential (email + API token) or the OAuth provider.

Step 3, Map the fields

Decide the field mapping and which system owns status. A typical map:

ServiceNow (incident)        Jira (issue)
short_description        ->  summary
description             ->  description
priority (1-5)          ->  priority (Highest..Lowest)
assignment_group        ->  project / component
u_jira_key (new field)  <-  key   (store the returned issue key)

Add a String field u_jira_key to incident to hold the linked Jira issue key.

Step 4, Build the outbound flow (ServiceNow โ†’ Jira)

  • In Flow Designer, create a flow with trigger Created on incident where priority is 1 or 2 (or your rule).
  • Add action Jira → Create Issue: set project key, issue type Bug, summary and description from the trigger record.
  • Add a Update Record step to write the returned key back into u_jira_key.
  • Add a comment to the incident: 'Linked to Jira {{key}}'.

Step 5, Real-time inbound (Jira โ†’ ServiceNow)

  • Create a Scripted REST API in ServiceNow (e.g. /api/x_.../jira_webhook) that looks up the incident by u_jira_key and updates state/comments.
  • In Jira, add a Webhook (System → WebHooks) firing on issue updated/commented, pointing at that endpoint with the service credential.
// Scripted REST resource (POST) - pseudocode
var body = request.body.data;
var gr = new GlideRecord("incident");
if (gr.get("u_jira_key", body.issue.key)) {
  gr.comments = "Jira update: " + body.issue.fields.status.name;
  if (body.issue.fields.status.name == "Done") gr.state = 6; // Resolved
  gr.update();
}

Step 6, Test & go live

  • Raise a test P1 incident and confirm a Jira issue is created and the key is stored.
  • Move the Jira issue to Done and confirm the incident resolves within seconds.
  • Capture the whole thing in an update set and promote to production.

Troubleshooting

  • 401/403: wrong API token or the service user lacks project permission.
  • Issue not found inbound: the webhook fired before u_jira_key was written, add a small retry.
  • Check Flow Designer → Executions and the outbound Outbound HTTP Requests log.
Agree a single source of truth for status (usually Jira for the engineering fix) so updates don't ping-pong between the tools.

Practice challenge

2 questions
Q1What typically carries the ServiceNow-Jira connection?

The Jira spoke over REST

The Jira spoke calls Jira's REST API.

Q2What prevents status ping-pong?

A clear source of truth

Define which system owns status.

Frequently asked questions

What automates - Jira integration in Flow Designer?
401/403: wrong API token or the service user lacks project permission. Issue not found inbound: the webhook fired before u_jira_key was written, add a small retry. Check Flow Designer โ†’ Executions and the outbound Outbound HTTP Requests log.

Want this taught live, with job support?

ServiceNow Training is delivered live by working practitioners, with certification prep and placement support.

See ServiceNow Training โ†’