Introduction to the ServiceNow adapter
ServiceNow provides platform-as-a-service (PaaS) enterprise service management
software for human resources, law, facilities management, finance, marketing, and
field operations. ServiceNow specializes in IT service management (ITSM)
applications and automates common business processes. ServiceNow contains a
number of modular applications that can vary by instance and user.
ServiceNow contains many modules/plugins and our adapter gives you access to the following -
However, I have no time for delving into its intricacies. I need to provide my mobile developer with an easy way to create/update an Incident in ServiceNow.
And, being the Irishman that I am, that I will do.
As usual, quotes from the OraDocs in italics.
First step - create a ServiceNow connection in OIC.
Create ServiceNow Connection
... is again the best approach here.
There are pre-requisites one needs to complete on the ServiceNow side for this to work.
The ServiceNow adapter doc is here
So which pre-reqs are we talking about?
1. a ServiceNow user, I will leverage the admin user here. However, you can, of course, create a dedicated integration user.
2. this user needs to have the default SOAP role assigned.
This role has access to the following -
ServiceNow can can either be a trigger or an invoke from an OIC perspective.
For invoke, one needs to do the following -
This is easy to do in ServiceNow -
So I do this for all of the aforementioned tables.
For the Trigger -
same modus operandi.
Now I need to -
Create or modify the access control list to assign permissions for the preceding tables.
The admin user must have security_admin privileges to modify the
access control lists.
I now search for Access Control and then create the required ACLs -
Again, we differentiate between the Invoke and Trigger tables -
The Invoke Tables are -
For each of the above - create a new ACL for each table, specifying the read operation.
You can also assign a role - in my case, admin.
Note - one sets the field value to *
Now to the Trigger tables -
Essentially the same modus operandi, bu this time I select the create operation.
Now to the actual OIC connection -
OIC Integration - Create Incident
A very simple example here - I create an integration with a REST Trigger.
The Request has 1 field - incidentDescription
Now to the ServiceNow Invoke -
The Invoke Request mapping -
The Integration Response mapping -
I activate the integration and then test it, via Postman -
I check out the Incident in ServiceNow -
The following is an excellent feature in ServiceNow -
The Incident Id is sys_id.
OIC Integration - Update Incident
Now let's use this for updating an integration -
Now I want to update my Incident, adding details such as setting -
Urgency = high
State = In Progress
Again I use the Show xml functionality to work out what to enter here -
The State value is now = 2
New = 1 etc.
Urgency = 1, 2 or 3.
Now to the Caller -
thanks to the ServiceNow Community website for the above description.
I created a user for myself and got the caller_id from the Show xml function.
I map as follows - note, I am only showing the mapped fields at the target.
I activate the "update" integration and then test -
Firstly, create the Incident -
I check it out in ServiceNow -
I test the "update" integration -
I return to ServiceNow -
OIC Integration - Delete Incident
Integration Response mapping -
That's one way of solving the Riot in the Hare of the Dog Reading Room!