Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1. Overview

...

Table of Contents
stylenone


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

  1. Jira Software as well as Jira Service Desk (Plugin is compatible with JSD too) should be installed and licensed.
  2. Database should not be the default database, MySQL or PostgreSQL will work.
  3. There should be some data, in terms of availability of Users and Groups in Jira.
  4. The CSV to import users should have appropriate headers and there should not be spelling mistakes. (Test what happens when there are spelling mistakes)
  5. Bulk User delete should be installed.
  6. 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.
  7. 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 

...

  1. ServiceNow user registration for integration
  2. Local Jira SDK configuration/Installation
  3. 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 NoFeatures
1admin user should be able to configure the connection parameters in screen 
2admins user should be able to map the JIRA SD and Service Now Fields
3Any change (create/update/delete/edit) in JIRA SD should update the respective incident in ServiceNow
4Any 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. NoJira Field TypeStatus
1Text Field (single line)
Status
colourGreen
titleDone
2Text Field (multi-line)
Status
colourGreen
titleDone
3Select List (single choice)
Status
colourGreen
titleDone
4WIKI Render
Status
colourGreen
titleDone
5Labels (multi-choice)
Status
colourGreen
titleDone
6Date Picker
Status
titleTODO
7Date Time Picker
Status
colourGreen
titleDone
8Select List (cascading)
Status
titleTODO

3.3 Supported Field Mapping Configuration for SAP Dev Instant

Image Added

3.4 Supported Field Mapping for SAP Dev Instant

Sr. No.Jira Field Service Now FieldJira Field TypeJira → ServiceNow (Status)ServiceNow → Jira (Status)Remark(ServiceNow → JIRA)Remark(JIRA->ServiceNow)
1SummaryShort DescriptionText Field (single line)
Status
colourGreen
titleDone
Status
colourGreen
titleDone
Any update to Short Description Field will update the Summary Field in JIRA
2DescriptionDescriptionText Field (single line)
Status
colourGreen
titleDone
Status
colourGreen
titleDone
Any update to Description Field will update the Description Field in JIRA
3CommentAdditional commentsWIKI Render
Status
colourGreen
titleDone



4PriorityCustomer PriorityText Field (single line)
Status
colourGreen
titleDone



5Issue KeyJIRA Issue KeyText Field (single line)
Status
colourGreen
titleDone



6SN Number - CFNumberText Field (single line)
Status
colourGreen
titleDone



7SN Sys Id - CFSys IDText Field (single line)
Status
colourGreen
titleDone



8Reporter PriorityCustomer PrioritySelect List (single choice)
Status
colourGreen
titleDone
Status
colourGreen
titleDone

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
9Customer Data ProtectionData Protection TypeSelect List (single choice)
Status
colourGreen
titleDone

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
10Environment TypeUsed forSelect List (single choice)
Status
colourGreen
titleDone


Working based on the rule sheet
11Request SourceSourceSelect List (single choice)
Status
colourGreen
titleDone
Status
colourGreen
titleDone

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


12Customer(s)Customer(s)Labels
Status
colourGreen
titleDone



13Data CenterPrefix DescriptionLabels
Status
colourGreen
titleDone

Field is disabled for any entry. So, script is not recognizing this field.Field type is not the same in ServiceNow
14Affects Version/sPrefix DescriptionLabels
Status
colourGreen
titleDone

Field is not visible in ServiceNow, so its not mapped.

Note : Script is not recognizing this field.

Field  is not available in ServiceNow
15Component/sPrefix DescriptionLabels
Status
colourGreen
titleDone

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 DescriptionRequest parametersEndpoint detailsResponse formatStatusRemark
1List api to get the now fields(Add service now field type to this api) NA



2List api to get the options for each service now field of the type dropdown

fieldId - service now field id





3List 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





4Create 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





5Delete 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





6Get transition API Issue Keyhttp://empyratestqa.eastus.cloudapp.azure.com/rest/api/2/issue/COSD-4/transitions

It gives all possible transaction for the issues  
7Post  transition API


Code Block
{
    "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 

8Post attachments 


Code Block
 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.