Parent Poll Processor
The Poll Processor contains the logic that will be applied when polling a remote system for data.
Last updated
The Poll Processor contains the logic that will be applied when polling a remote system for data.
Last updated
The Poll Processor is a configuration record which contains the logic that will be applied when polling a remote system for data. There are three main scripts which are used to setup, execute and process the Poll Requests. The scripts given here are examples of how you might configure your Poll. The details of yours may differ depending on your requirements.
This parent Poll Processor will pull back a list of the relevant records (polling enough data to identify the records). Each record it identifies will be passed on to the child Poll Processor.
In Unifi Integration Designer, navigate to & open < Your Integration > (created following the Outbound Incident Guide).
Click the 'Poll Processors' icon & then New.
The fields to be configured for the New Poll Processor modal are as follows:
# | Field | Description | Value |
1 | Name | The name of the Processor. | <Your Name> |
Your New Poll Processor modal should look like this:
2) Submit and view to further configure the Poll Processor.
The Setup Script is the first script to run (it runs at the point in time the Poll Request is created). It is used to build the environment for the poll and define what it will do. We will use it to setup the URL that will be called.
Navigate to Scripts > Setup Script.
The initial Poll Processor fields to be configured are as follows:
# | Field | Description | Value |
3 | Setup script | The script to setup the Poll Request record. | Update the code in the Setup script field so that it looks like the code below |
The code in the Setup script field should look like this:
Setup script: The parameters for which data to return are contained in the endpoint url.
fields: The table API will return all the data by default, so we choose to deliberately limit what is returned to the fields listed in this variable.
query: Instead of querying all the records on the remote instance, we deliberately limit the records to those where the correlation id is not empty (i.e. it's bonded), that haven't been updated by the Authentication user (our system) and that were updated since either since the last update time (if one exists), or in the last 30 minutes.
Endpoint URL: The value used in the poll_request.endpoint_url was initially generated using the ServiceNow REST API Explorer, substituting variables in for the uri query and fields. This value is appended to the existing endpoint url in the active connection before being added to the Poll Request.
(We have also chosen to limit the number of records returned to 10.)
Your Setup Script form should look like this:
4) Navigate to Request Script.
The Request Script is used to reach into the remote system and execute the request. We will use the ServiceNow RESTMessageV2() web service to make a REST call to the URL defined in the Setup Script.
The next Poll Processor field to be configured is as follows:
# | Field | Description | Value |
5 | Request script | The script that executes the request. | Update the code in the Request script field so that it looks like the code below |
The code in the Request script field should look like this:
Request script: This script uses the ServiceNow RESTMessageV2() web service to make a REST call to the endpoint url created in the Setup script. It returns the body of the request as the answer which it passes to the Response script.
Your Request Script form should look like this:
6) Navigate to Response Script.
The Response Script is used to process the information returned from the remote system. We will pass this data to Unifi, telling it which Message to use to process the data.
The last Poll Processor field to be configured is as follows:
# | Field | Description | Value |
7 | Response script | The script that processes the response to the request. | Update the code in the Response script field so that it looks like the code below |
The code in the Response script field should look like this:
Response script: This script parses the response into a body object to contain the result, (returning if it doesn't contain anything).
It then establishes the environment, getting the Integration, Connection & Connection Variables.
After that it processes each of the results (returned tickets). For each ticket, it sets up a Poll Request to retrieve an Incident (returning a PollRequest object).
After processing each result, the results are logged to the Response status field of the Poll Request.
x_snd_eb.Poller.execute(): This method has two parameters. In the first we pass the sys_id of the child Poller (as created on the 'Child Poller' page). In the second we pass an object containing the sys_id of the returned Incident as the incident_id element (telling the Poller which record to poll).
params: The params
object is passed through to the subsequent scripts (and on to further Pollers, if required). This is used to pass the incident_id to the child Poller.
Your Response Script form should look like this:
8) Save the Poll Processor.
Navigate to and open < Your Child Poll Processor > (created on the 'Child Poll Processor' page) and update the value of the Parent field by selecting the parent Poll Processor created above.
Remember, We have not scripted any business logic to run from the value in the Parent field. It is given for documentary purposes only (for you to easily identify which parent Poll Processor kicked off the child).
Now let's move on and configure the Parent Poller.