10.Functional Specification
1. Overview
There shall be a Jira app that can be configured to enable bi-directional sync between Jira and ServiceNow.
• In Jira, admin should be able to give SNOW credentials (API access) to connect the two systems.
• Once connected, admin should be able to map the 1) project 2) issue type and 3) individual fields in Jira to that in SNOW
• Upon mapping admin should be able to do unidirectional (create and update) or bidirectional (create and update) sync of tickets.
• Updates should include field updates, status updates, comments etc.
(This is based on information collected so far. We are still doing requirement analysis with customer).
1.1 Business Requirement
Business needs a plugin for ServiceNow connector for Atlassian Service Desk for seamlessly create/update Issues/Incidents in Jira SD and ServiceNow.
1.2 Pre-requisites
- ServiceNow user registration for integration
- Local Jira SDK configuration/Installation
- Listing the APIs required for ServiceNow integration
2. Proposed Solution
Plugin is intended to provides the facility to create/update incident in ServiceNow . Also, ServiceNow configuration is required to push the incident create/updates to Jira SD.
3. Solution Description
3.1 Features
Sl No | Features |
---|---|
1 | admin user should be able to configure the connection parameters in screen |
2 | admins user should be able to map the JIRA SD and Service Now Fields |
3 | Any change (create/update/delete/edit) in JIRA SD should update the respective incident in ServiceNow |
4 | Any change (create/update/delete/edit) in ServiceNow should update the respective Task/issues in Jira SD |
3.2 User and Roles
Jira Administrator privileges are required to install/access the plugin.
3.3 Supported Field Type Mapping
Sr. No | Jira Field Type | Status |
---|---|---|
1 | Text Field (single line) | DONE |
2 | Text Field (multi-line) | DONE |
3 | Select List (single choice) | DONE |
4 | WIKI Render | DONE |
5 | Labels (multi-choice) | DONE |
6 | Date Picker | TODO |
7 | Date Time Picker | DONE |
8 | Select List (cascading) | TODO |
3.3 Supported Field Mapping Configuration for SAP Dev Instant
3.4 Supported Field Mapping for SAP Dev Instant
Sr. No. | Jira Field | Service Now Field | Jira Field Type | Jira → ServiceNow (Status) | ServiceNow → Jira (Status) | Remark(ServiceNow → JIRA) | Remark(JIRA->ServiceNow) |
---|---|---|---|---|---|---|---|
1 | Summary | Short Description | Text Field (single line) | DONE | DONE | Any update to Short Description Field will update the Summary Field in JIRA | |
2 | Description | Description | Text Field (single line) | DONE | DONE | Any update to Description Field will update the Description Field in JIRA | |
3 | Comment | Additional comments | WIKI Render | DONE | |||
4 | Priority | Customer Priority | Text Field (single line) | DONE | |||
5 | Issue Key | JIRA Issue Key | Text Field (single line) | DONE | |||
6 | SN Number - CF | Number | Text Field (single line) | DONE | |||
7 | SN Sys Id - CF | Sys ID | Text Field (single line) | DONE | |||
8 | Reporter Priority | Customer Priority | Select List (single choice) | DONE | DONE | Any update to Customer Priority Field will update the Reporter Priority Field in JIRA. Note: In Script, we have hard coded the customer field ids and values | Working based on the rule sheet |
9 | Customer Data Protection | Data Protection Type | Select List (single choice) | DONE | Any update to Data Protection Type Field will update the Customer Data Protection Field in JIRA. Note: In Script, we have hard coded the customer field ids and values | Working based on the rule sheet | |
10 | Environment Type | Used for | Select List (single choice) | DONE | Working based on the rule sheet | ||
11 | Request Source | Source | Select List (single choice) | DONE | DONE | Any update to Source Field will update the Request Source Field in JIRA. Note: In Script, we have hard coded the customer field ids and values | |
12 | Customer(s) | Customer(s) | Labels | DONE | |||
13 | Data Center | Prefix Description | Labels | DONE | Field is disabled for any entry. So, script is not recognizing this field. | Field type is not the same in ServiceNow | |
14 | Affects Version/s | Prefix Description | Labels | DONE | Field is not visible in ServiceNow, so its not mapped. Note : Script is not recognizing this field. | Field is not available in ServiceNow | |
15 | Component/s | Prefix Description | Labels | DONE | Field is not visible in ServiceNow, so its not mapped. Note : Script is not recognizing this field. | Field is not available in ServiceNow |
3.4 API details for mapping between Jira field options and Service now field options
Sr. No. | API Description | Request parameters | Endpoint details | Response format | Status | Remark |
---|---|---|---|---|---|---|
1 | List api to get the now fields(Add service now field type to this api) | NA | ||||
2 | List api to get the options for each service now field of the type dropdown | fieldId - service now field id | ||||
3 | List api to get list of all the mappings between Jira field options and service now field options | projectKey - key of the project issueType - issue type related to the project jiraFieldId - id of the Jira field serviceNowFieldId - id of the service now field | ||||
4 | Create api to add mapping between the Jira field option and Service Now field option | projectKey - key of the project issueType - issue type related to the project jiraFieldId - id of the Jira field serviceNowFieldId - id of the service now field jiraOptionId - id of the Jira option pertaining to Jira field serviceNowOptionId - Id of the service now option pertaining to service now field | ||||
5 | Delete api endpoint to delete data for the mapping between Jira field option and Service Now field option | projectKey - key of the project issueType - issue type related to the project jiraFieldId - id of the Jira field serviceNowFieldId - id of the service now field jiraOptionId - id of the Jira option pertaining to Jira field serviceNowOptionId - Id of the service now option pertaining to service now field | ||||
6 | Get transition API | Issue Key | http://empyratestqa.eastus.cloudapp.azure.com/rest/api/2/issue/COSD-4/transitions | It gives all possible transaction for the issues | ||
7 | Post transition API | { "update": { "comment": [ { "add": { "body": "Comment added when resolving issue" } } ] }, "transition": { "id": "2" } } | http://empyratestqa.eastus.cloudapp.azure.com/rest/api/2/issue/COSD-4/transitions | It updates transaction. Reference to update other fields with transition https://docs.atlassian.com/software/jira/docs/api/REST/8.5.4/#api/2/issue-doTransition | ||
8 | Post attachments | Header: Authorization: Basic c3Zpc2h3YWthcm1hOnN2aXNod2FrYXJtYQ== X-Atlassian-Token: no-check Content-Type: multipart/form-data; form-data: name="file"; filename="Assig.PNG" Content-Type: image/png | http://empyratestqa.eastus.cloudapp.azure.com/rest/api/2/issue/COSD-4/attachments | It creates an attachment for the JIRA issue. |