Jira Software is used for Issue tracking and project management, providing effective and efficient software delivery. The engineers working on ServiceNow Incident may need to create a Task in Jira Issue for the engineering team to work on this.
Impact on the Business:
- Improper Management of Information
- Errors Caused due to Duplication of Updates in Multiple Applications
- The Effort needed to update, manage and track activities in different instances
- The Effort involved results in Time and Manpower, which indirectly contributes to the Operational Cost
Solution for Consideration
Integration is introduced to address the Issue and communicate effectively and efficiently with the tool. The ServiceNow integration with Jira helps create Jira Issues from ServiceNow and update the fields in both systems in a bi-directional flow to have the support Engineers and Engineering team work together effectively.
What is a Jira Issue?
Jira Issues are records in Jira Software used to track anything you need to trace. Each Jira Issue represents an object stored in the Issue data store. Each Issue is based on an Issue type (Task, Epic, Story, etc.) and is assigned a unique identifier within a project or organization. The REST Integration process is followed in this case. We use the Issue type Task for an Incident in ServiceNow.
As the flow indicates above, an Incident record is created in ServiceNow. Jira Issue is created in Jira. Based on the System Properties of enabling Jira Integration. If the system property is Enabled, all Incidents sync with the Jira Issue; else, the property is disabled, then a specific Incident is synced with the Jira Issue using UI Action. Relationship of Jira Issue with ServiceNow is directly linked to the Incident to have a one-to-one relationship.
APIs used in the REST Integration
|Get Fields of Issue
Processes in ServiceNow-JIRA Integration
Creation of Jira Issue:
As the relationship created is Incident to JIRA, Jira Issue is created from an Incident record using system property or UI action.
This will get all the fields that are required to create an Issue. The fields of the Incident will be mapped to the Jira Issue fields and Create an Issue with the API given above.
Once the Issue is created, an Issue ID is generated. This can be used to create an Issue in the Jira Software platform.
Bi-Directional sync between Jira and ServiceNow
Once the Issue is created, certain fields are synced between the platforms to have real-time and accurate data to help the engineers get an update on it.
ServiceNow to Jira:
- Select authentication profile in ServiceNow, Establish Connection Interface is created to connect ServiceNow and Jira using API Establish Connection as stated above in the table.
- To sync fields from ServiceNow to Jira, business rules are written on inserting and updating the fields specified and pushing onto the Issue using API create/update Issue as stated above in the table.
- To create a comment from ServiceNow to Jira business rule is used with the API Create Comment to send comments from ServiceNow to Jira comments.
Jira to ServiceNow:
- To get Issues' created/updated' in a scripted REST API when the Issues/comments are created/updated, the scripted REST API will pick up the request of Jira Issue IDs from Jira. Then it will use the 'API Create/Update' Incident of Jira Issue to bring in all the updates for the fields necessary.
Once the request is triggered, the request has an Issue JSON Object that contains a record of the Issue, and the record fields map to the Incident field then create/update a specified Incident in ServiceNow.
- Comments are also synced from Jira to ServiceNow using the same scripted rest API but with API Get Comments and added to a staging table updated in the journal entry.
- A JSON file is created to determine which fields are made in sync with Jira Issue.
- Properties are set to define the Project of the Jira Issue.
- A script is created to hold all the functions that are called to create, modify, match values, etc.
Ex: To update commercial priority on Jira, a business rule is written in 'update,' which would call a function from the script that calls the 'Create/Update' Jira Issue API. Also, call the convert commercial priority function to convert values to match Jira's.
The output of the integration in seamless connectivity between Jira and ServiceNow decreases the Manpower, Cost, Time, and Effort. It increases the efficiency of work done to reduce the chances of errors and manual activities.
Recommended Best Practices:
- Jira Issue Id and Incident sys_id are stored in the relationship table to avoid creating duplicate records in Jira and ServiceNow
- Keep Incident Issue relationship table for looping when integrating (Bi-directional)
- Ensure the field values from both platforms match
- Centralize as much functionality as possible in one platform
Jira and ServiceNow complement each other well. This integration enables the engineering team to reduce their time getting stuck in cross-team information update by providing seamless access to data across multiple tools. This Integration helps in improving the productivity of IT engineers. With live data and notifications, the engineers can stay on top of issues or events such as new defects, changes in status and who performed what action. When the data is available in real-time, it helps the organization grow faster by providing better workflows to employees and reducing the overall support costs. By automating workflow processes, companies can also add value by reducing errors and manual tasks to increase employee productivity and allow non-technical personnel perform technical activities.
About the Author
Ratnadip Dhulshette, Associate Analyst at Jade Global
I am a Associate Analyst at Jade Global. I have a one plus years of experience in IT industry and am associated with ServiceNow platform since 2020. I have worked on several projects including development and support. I have played a role of ServiceNow Admin/Developer and delivered custom applications for customer in ITSM and have knowledge in the CSM and Integration.