ServiceNow - Jira integration
Sync incidents and stories between ServiceNow and 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
- 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:
adminplus 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
incidentwherepriorityis 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
keyback intou_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 byu_jira_keyand 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_keywas written, add a small retry. - Check Flow Designer → Executions and the outbound Outbound HTTP Requests log.
Practice challenge
2 questionsQ1What 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?
Want this taught live, with job support?
ServiceNow Training is delivered live by working practitioners, with certification prep and placement support.
See ServiceNow Training โ