Western Union case study

   Finances

How to integrate Jira & ServiceNow:
Step-by-step guide

Follow our step-by-step guide and learn how to integrate Jira Software and ServiceNow in a couple of minutes. To take full advantage of our platform ZigiOps request a free trial. We will provide you a license for two weeks and you will be able to install, test our product and integrate Jira with ServiceNow very quick. Our jira servicenow plugin provides the best value integration in the market.

Predrequisites

To have a successful installation of the ZigiWave ZigiOps and connect it with the corresponding third party, you need the following prerequisites to be met:

Hardware Requirements:

System Requirements:

Jira Requirements:

ServiceNow Requirements:

Install the ZigiWave ZigiOps​

This section includes general instructions about installing, uninstalling, starting and stopping the ZigiWave ZigiOps. The ZigiOps is the main node in the ServiceNow to JIRA integration which resides in the local environment.

Windows

1. Before installing the ZigiWave ZigiOps, make sure there is a supported JRE version installed on the host. To download the latest version of JRE, please visit one of the following links: https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

2. In Windows Explorer, navigate to the extracted ZigiWave ZigiOps content and right-click on the zigiwave-installer-*.jar executable and choose “Run as Administrator”. The installation program begins:

  • Introduction to ZigiWave ZigiOps installation. Click Next.  

Note: If the “Run as Administrator” option is not available on the context menu, start an elevated command prompt and start the installation by the “java –jar ” command, in an example: java –jar “C:\ZigiWave zigiwave-installer-*.jar”

  • Review the license agreement. To continue, select I accept the terms of the License Agreement, and then click Next.
  • Specify the HTTPS Port for the ZigiWave Web Console or accept the default one which
    is 8585. Confirm the port by clicking Next.
  • Specify the folder for the installation files – accept the default location or click Browse to choose the desired parent folder. Click Next. By default, this folder location is C:\ZigiWave\ZigiOps.
  • If the target directory is not existing, the installer will create it after you confirm the same. Click OK. 
  • Focus returns to the Installation Finished panel of the Installation program. Click Next.
  • The installation process continues by installing and starting the “ZigiWave ZigiOps”
    service. Make sure you see the following confirmations indicating successful installation
    and start of the service and click Next.
    The Service “ZigiWave ZigiOps” has been installed
    The Service “ZigiWave ZigiOps” has been started
  • Focus returns to the Installation Completed panel of the Installation program. An uninstaller program has been created in: C:\ZigiWave\ZigiOps\Uninstaller folder. Click Done.

3. After a successful completion of the installation, the ZigiWave ZigiOps service is automatically started. Verify this by access the ZigiWave ZigiOps user interface. From a supported web browser, enter the following URL: https://<host_name>:<port>/Replace <host_name> with the current host name and <port> with the port specified during installation (by default, 8585).

You should see a login screen. Default password is admin and can be changed from the UI.

Linux

System Requirements:

  • Introduction to ZigiWave ZigiOps installation. Click Next.  
  • In case you have local access, you have to have desktop environment installed, or if you are using SSH, you have to have X-forwarding enabled.

System Requirements:

  • libxrender  
  • libxtst6
  • libxi6
  • xorg-x11-xauth

Those libraries are required in order to render the installation GUI. 

NOTE: In case the system is unable to render the GUI the installer will fall back to console mode. The console mode follows the same steps that the GUI one does, however it is menu driven and purely console rendered.

  • Before installing the ZigiWave ZigiOps, make sure there is supported JRE version installed on the host. 
  • Unzip the contents of the zip file you downloaded and issue this command: java -jar zigiwave-installer-*.jar This should display you the window shown below. Click Next.
  • Introduction to ZigiWave ZigiOps installation. Click Next.
  • Next you will be presented the EULA agreement. Read it and accept to continue:
  • Next you will have to select the port for the web console. Usually it is fine to leave it that way, but you will have to change it in case you already have a service listening on port 8585. 
  • Next you will be prompted to name the directory of the installation. You must ensure that the directory you will be installing the software into has write permissions.

IMPORTANT: Do not use directories with spaces in their names, this will prevent the
web console from deploying and will render the ZIGIOPS useless.

  • Next you will see the progress of installation:
  • The last step will be the confirmation that the installation process has finished:

IMPORTANT: In case you have selected another port instead of 8585, you will have to 
open the file startup.sh in the home directory of the Integration Hub and change line 3 accordingly:
DASHOBOARDPORT=[new selected port]

Starting and Stopping

Windows

1. Starting the ZigiWave ZigiOps.

You start the ZigiWave ZigiOps from the Windows Services application. Run the services.msc and find the ZigiWave ZigiOps service:

Start it as any other service by using the Start button in the left.

2. Stopping the ZigiWave ZigiOps.

You stop the ZigiWave ZigiOps again from the Windows Services application. Run the services.msc and find the ZigiWave ZigiOps service.

Stop it as any other service by using the Stop button in the left.

Once the ZigiWave ZigiOps service is started, you should be able to access the UI at
https://<hostname>:<port>. For example, https://localhost:8585.

Linux

1. Starting the ZigiWave ZigiOps.

You start the ZigiWave ZigiOps with the command sequence shown below:
cd <home directory of ZIGIOPS>
./zigiops_start.sh

2. Stopping the ZigiWave ZigiOps.

You stop the ZigiWave ZigiOps with the command sequence shown below:
cd <home directory of ZIGIOPS>
./zigiops_stоp.sh

3. Both scripts are detaching from the ZIGIOPS processes and you can logout after you
issue them in case you are using SSH to access the machine.

4. Once the ZigiWave ZigiOps service is started, you should be able to access the UI at
https://<hostname>:<port>. For example, https://localhost:8585.

Licensing

The first time when you install the ZigiWave ZigiOps and open its interface, you are asked to add a license. The license enables the menus for the different connectors and allows you to configure the settings for them.

1. Navigate to the ZigiWave ZigiOps UI using a supported web browser.
2. Move to the Licenses page.
3. Click on Upload License button.

4. Locate the license file that you have been provided by ZigiWave. Select it and click Open.
5. If your license is successfully imported, you will see a result similar to the picture below with indication of the number of points and start/expiry dates.

Uninstall the ZigiWave ZigiOps

Windows

1. To begin with the uninstallation process of the ZigiWave ZigiOps, locate in Windows Explorer the ZigiWave ZigiOps uninstaller in its installation directory (by default :\ZigiWave\ZigiOps\Uninstaller)
2. Double-click the uninstaller.jar executable. The uninstallation program begins:
3. You have the option to force deletion of the ZigiWave ZigiOps installation folder. If you don’t mark the tick, you can later remove the directory manually.
4. The progress bar indicates when the uninstallation is done with the “[Finished]” message. Click the Quit button.

Linux:

1. To begin with the uninstallation process of the ZigiWave ZigiOps, locate in Windows Explorer the ZigiWave ZigiOps uninstaller in its installation directory (by default C:\ZigiWave\ZigiOps\Uninstaller)
2. Double-click the uninstaller.jar executable. The uninstallation program begins:
3. You have the option to force deletion of the ZigiWave ZigiOps installation folder. If you don’t mark the tick, you can later remove the directory manually.
4. The progress bar indicates when the uninstallation is done with the “[Finished]” message. Click the Quit button.

Connected Systems and Environment Configuration

The ZigiWave ZigiOps connectors function by extracting data from one system, perform processing on it and then loading it to another system. The ZigiOps needs both the source and the target systems to be added to its Systems Store before enabling the integration. Some of them have prerequisites which you can see through this chapter.
The available Systems in the ZigiOps are determined by your license. For the Jira integration, you will see the following two systems available under the Connected Systems > Add New System … menu:

Jira

Jira is considered as both ‘source’ and ‘target’ for the out of the box integration. This makes the integration trough the ZigiWave ZigiOps fully bi-directional. The integration supports two types of collecting data from Jira – by listening for Jira Webhooks or by polling. Webhooks are usually focus for the Jira Server deployment as it is installed in the local environment. And with Jira Cloud, usually the approach is by using the polling method. This chapter continues with instructions on how to prepare the Jira instance for the integration and how to add it to the ZigiOps’s Systems Store.

Create custom fields

When inserting issues in Jira, the ZigiOps will populate the issue fields as defined in the mapping configurations. The integration requires four Custom fields to store information which will be used for future reading of the issue updates.

  • servicenow_drilldown_url – store the drilldown URL of the target record.
  • servicenow_record_number – store the number of the target record.

Create the correlation_id field:
When inserting issues in Jira, the ZigiOps will populate the issue fields as defined in the mapping configurations. The integration requires four Custom fields to store information which will be used for future reading of the issue updates.

1. Login to Jira as an administrator and navigate to Administration > System > Issues >FIELDS > Custom fields;
2. Click on the ‘Add custom field’ button;
3. Choose the field type as ‘Text Field (single line)’ and click Next:

4. Give a name for the field as: servicenow_drilldown_url optionally, give a description
and click on ‘Create’:

5. On the next screen, associate the newly created ‘servicenow_drilldown_url’ field with the
corresponding Jira Projec screens:


Create Issue Screen | Edit/View Issue Screen | Resolve Issue Screen

6. Find the newly created field in the list and from the tools button select ‘Configure’:

7. Note the Custom field ID from the address bar of your browser and write it down for later use:

Follow the same steps from 1 to 7 for the other custom field – servicenow_record_number by setting the corresponding name and description

Add Jira as Connected System to ZigiOps:

Adding the Jira instance as system to the ZigiOps is done from the web user interface by defining the connection parameters. To do so: 

1. Open the ZigiWave ZigiOps user interface and go to the Connected Systems > Add
New System > Jira Configure the following properties:

2. Click the Save button.
3. Now click the Test button to check, if the connection to Jira is successful.

ServiceNow

ServiceNow instance is considered as both ‘source’ and ‘target’ for the out of the box integration. This makes the integration trough the ZigiWave ZigiOps fully bi-directional. ServiceNow instance sends requests for created and updated records to ZigiWave ZigiOps using Outbound Rest calls through a MID Server. This chapter continues with instructions on how to prepare the ServiceNow instance for the integration and how to add it to the ZigiOps’s Systems Store.

Install the “ZigiOps for Jira” Application from the ServiceNow store

1. Open the “ZigiOps for Jira” application page on the ServiceNow App Store:
https://store.servicenow.com/sn_appstore_store.do#!/store/application/16ae0de71b95b3003550cbbc1d4bcb59/1.0.0?referer=sn_appstore_store.do%23!%2Fstore%2Fsearch%3Fq%3DZigiOps

2. Use the “Request App” button

3. Please await confirmation for approving the installation of the application from ZigiWave, then go back to the application page on the App Store and click ‘Get’ to complete the purchase

4. Go back to the “ZigiOps for Jira” on the ServiceNow app store and click on the “Get” button;

5. Log in to the ServiceNow instance you would like to install the application to and navigate to System Applications > Applications > Downloads. You should see the “ZigiOps for Jira” application available for installation. Click on the Install button. 

Create the ServiceNow integration user

1. Create a new user in ServiceNow which you will use in the ZigiWave ZigiOps settings page. While logged in ServiceNow with a user with enough privileges, go to User Administration>Users and click on the “New” button.

2. Specify the details about the user 

3. Assign the following user roles:
x_ziw_jira.integration
personalize_read_dictionary
* The personalize_read_dictionary role is available only with the Service Manager Core plugin. If the plugin is not active on you instance, the role will not be available. In that case, you can аdd the personalize_dictionary role instead or the to add read ACL on the sys_dictionary table with * for fields and assign the x_ziw_jira.admin role to it.

Add ServiceNow as Connected System to ZigiOps

Adding the ServiceNow instance as system to the ZigiOps is done from the web user interface by defining the connection parameters. To do so:

1. Open the ZigiWave ZigiOps user interface and go to the Configurator > Add New System > ServiceNow 

Configure the following properties: 

2. Click the Save button.

3. Now click the Test button to check, if the connection to Jira is successful.

Load Integration from Template

Integration templates (or blueprints) are predefined complete integrations between two specific systems. They are bundled with every ZigiOps installation and are ready to use right away. There’s a wide variety of integration templates to choose from. To create an integration from a template, all you need to do is load the template of choice and select the systems that you want to integrate. Once a template is loaded you can customize it as you see fit. 

You can access the templates from the Available Templates screen, which is part of the Configurator page: 

What does an integration template contain?

Depending on the integration type, templates usually come with 3 operations by default.

  • One operation to move integration data from System A to System B.
  • A second operation to continuously keep the transferred entities in System B synchronized with their correlated entities in System A.
  • A third operation to synchronize changes made to the entities in System B back to their correlated entities in System A.

We will review an example template that connects Jira and ServiceNow and continuously synchronizes tasks with incidents between them.

What does an integration template contain?

Below is the general configuration of our selected template. Once we have selected our Jira and ServiceNow systems, the integration is ready to be saved and activated if no customization is required.

By default, we have a 1-minute polling time. The template is also configured to use correlation to connect and synchronize entities, but you may use any other fields from both systems

  • Note that the “customfield_<ID>” should be changed to your “customfield_<ID>” of your correlation_id field in order for the correlation to work!

“Create Incident” operation

Our first operation, “Create Incident”, is responsible for transferring new Jira tasks to ServiceNow as incidents. As shown below, there is a Last Time expression defined, that instructs ZigiOps to only collect the newest Jira tasks since the last successful run of the operation. This expression is used as a trigger condition in the trigger section. In order for
our operation to be triggered, our conditions are as follows:

  • The time of creation of any new Jira tasks must be later than the last time our operation successfully collected something from Jira.
  • The reporter of the Jira tasks is not the integration user (the user that we use for adding our Jira system to ZigiOps). This guarantees that we collect only tasks created by real users. 
  • The custom field that we use for correlation is not empty. This makes sure we don’t collect tasks that have been already synchronized with correlating incidents in ServiceNow.

The mappings of our first operation are straightforward and make sure the title, description and priority fields are properly mapped and assigned to the incidents in ServiceNow.

“Update Incident” operation

The second “Update Incident” operation in this template will continuously synchronize the already transferred entities from Jira to ServiceNow. This includes new comments, priority and status changes, as the mappings dictate. There is a total of three Last Time expressions defined – one for the trigger condition, one for the related (child) records and one for the comments in the advanced mappings.

In order for this operation to be triggered, the following conditions have been set:

  • The time of update for the Jira tasks needs to be later than the Last Time. This will allow us to collect only tasks with new changes in them.
  • The reporter of the task is not the integration user.
  • Either changelog/histories or comment/comments fields are not empty.

“Update Task” operation

The “Update Task” operation is responsible for synchronizing changes from the ServiceNow incidents back to their correlating tasks in Jira, including work notes. In this operation, there is one Last Time expression that is used in the trigger condition section. According to this template, the operation will only be triggered when:

  • The time in the sys_updated_on field in ServiceNow is later than the last time our operation has collected changes successfully.
  • The incident is not updated by the integration user.
  • The incident has been created by the integration user.

Starting/Stopping the ntegration

  • You can start the integration by switching the slider to active:
  • If you would like to stop it, simply switch the slider to inactive again.
If you want to learn more about all other available Jira Software and ServiceNow integrations feel free to take a look at them or get in touch with us.

Blvd. Aleksandar Malinov 89,

Floor 7, Sofia, Bulgaria

info@zigiwave.com

+359 876 566 433

Blvd. Aleksandar Malinov 89, Floor 7, 

Sofia, Bulgaria 

info@zigiwave.com  | +359 876 566 433