1. Overview
...
Table of Contents | ||
---|---|---|
|
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 Atlassian to delete the users in bulkfor ServiceNow connector for Atlassian Service Desk for seamlessly create/update Issues/Incidents in Jira SD and ServiceNow.
1.2 Pre-requisites
- Jira Software as well as Jira Service Desk (Plugin is compatible with JSD too) should be installed and licensed.
- Database should not be the default database, MySQL or PostgreSQL will work.
- There should be some data, in terms of availability of Users and Groups in Jira.
- The CSV to import users should have appropriate headers and there should not be spelling mistakes. (Test what happens when there are spelling mistakes)
- Bulk User delete should be installed.
- Bulk User delete functions in two different type of license: Understand the different options available when using Trial Version and when using the Paid version of the plugin.
- On Trial Version: On one instance only 3 attempts are allowed, no matter how many Admin users are installing them after the first trial license has expired.
2. Proposed Solution
Plugin is intended to provides the facility to delete Jira-users in Bulk. Out of the box(OOB) Jira does not provide this feature.
3. Solution Description
3.1 Features
- Bulk User Delete Plugin is for Jira Admins who wants to delete unwanted Jira users in bulk from a single page without toggling between different Jira pages
- Plugin has basically two different functional pages. One is Users List page and Other is Upload page.
- User List Page
- Users list page displays list of users and each page will display maximum of 2000 users. If the Jira instance has more than that 2000 users, then it will display navigation options(next page and previous pages).
- Users list page has provided select and deselect option, so that Admins can easily select and deselect users whom they want to delete.
- A pop-up box for confirmation appears before actual deletion, so that Jira Admins can abort or proceed with the deletion process.
- A deletion status page appears which displays detailed status (no. of users deleted, no. of users not deletion, justification for not deleting) as in Success and Failure of the Deletion process.
- Editing of Users details can also be done from User List page.
- Users list page gives Admins provision to search for particular User in Jira, using the text search box
- User list page give an option to filter available users based on the Jira Groups they belong.
- A button to directly reset the applied filter, which clears the search value and applied group filters.
- An option to export list of users (Selected Users or All Users of Jira). A direct button to export CSV of selected users or all users, and saves the exported CSV too on your local instance.
- Upload Page
- It facilitates user to upload a proper CSV file(Username, full name, Jira-groups, Email Addresses) of Users which are there in the Jira instance, along with the delete button
- Delete button on Upload page deletes the users from Jira whose details matches in the uploaded CSV.
- A confirmation dialog box appears before actual deletion of uploaded CSV, which provides a second chance to Admins to re-think on their decision.
- Deletion status page displays the detailed status.
3.2 User and Roles
...
- 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) |
| ||||||
2 | Text Field (multi-line) |
| ||||||
3 | Select List (single choice) |
| ||||||
4 | WIKI Render |
| ||||||
5 | Labels (multi-choice) |
| ||||||
6 | Date Picker |
| ||||||
7 | Date Time Picker |
| ||||||
8 | Select List (cascading) |
|
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) |
|
| Any update to Short Description Field will update the Summary Field in JIRA | |||||||||||||
2 | Description | Description | Text Field (single line) |
|
| Any update to Description Field will update the Description Field in JIRA | |||||||||||||
3 | Comment | Additional comments | WIKI Render |
| |||||||||||||||
4 | Priority | Customer Priority | Text Field (single line) |
| |||||||||||||||
5 | Issue Key | JIRA Issue Key | Text Field (single line) |
| |||||||||||||||
6 | SN Number - CF | Number | Text Field (single line) |
| |||||||||||||||
7 | SN Sys Id - CF | Sys ID | Text Field (single line) |
| |||||||||||||||
8 | Reporter Priority | Customer Priority | Select List (single choice) |
|
| 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) |
| 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) |
| Working based on the rule sheet | ||||||||||||||
11 | Request Source | Source | Select List (single choice) |
|
| 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 |
| |||||||||||||||
13 | Data Center | Prefix Description | Labels |
| 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 |
| 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 |
| 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 |
| 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 |
| http://empyratestqa.eastus.cloudapp.azure.com/rest/api/2/issue/COSD-4/attachments | It creates an attachment for the JIRA issue. |