Disclaimer
Your use of this download is governed by Stonebranch’s Terms of Use, which are available at https://www.stonebranch.com/integration-hub/Terms-and-Privacy/Terms-of-Use/
Overview
ServiceNow aims in delivering digital workflows that create great experiences and unlock productivity for enterprise operations. The company's core business revolves around management of "incident, problem, and change".
This Integration allows customers to create incident tickets in ServiceNow straight from the Universal Controller. A typical Use Case is the creation of a ticket in ServiceNow in the event of a Task failure within the Universal Controller.
Version Information
Template Name | Extension Name | Extension Version |
---|---|---|
ServiceNow Incident | ue-servicenow-incident | 1.0.0 |
Refer to Changelog for version history information.
Software Requirements
This integration requires a Universal Agent and a Python runtime to execute the Universal Task.
Software Requirements for Universal Template and Universal Task
Requires Python 3.7.0 or higher. Tested with the Universal Agent bundled Python distribution.
Software Requirements for Universal Agent
Both Windows and Linux agents are supported.
- Universal Agent for Windows x64 Version 7.0.0.0 and later with python options installed.
- Universal Agent for Linux Version 7.0.0.0 and later with python options installed.
Software Requirements for Universal Controller
Universal Controller Version 7.0.0.0 and later.
Network and Connectivity Requirements
- Extension's Universal Agent host should be able to reach ServiceNow REST endpoints.
- When creating attachments from Task Instances, the extension's Universal Agent Host should be able to reach the Universal Controller.
- The ServiceNow Credentials provided in the ServiceNow Incident Universal Task, should have sufficient permissions to invoke ServiceNow API's and create incidents.
Supported ServiceNow Versions
This integration is tested on ServiceNow San Diego. It should be compatible with newer versions of ServiceNow as long as ServiceNow backward compatibility is preserved.
Key Features
This Universal Extension provides the following key features:
- Actions
- Create a ServiceNow Incident.
- Authentication
- Authentication using ServiceNow Credentials.
- Input/Output
- Capability to send the output of any task instance as incident attachment.
Import Universal Template
To use the Universal Template, you first must perform the following steps.
This Universal Task requires the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.
To import the Universal Template into your Controller, follow the instructions here.
When the files have been imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.
Modifications of this integration, applied by users or customers, before or after import, might affect the supportability of this integration. For more information refer to Integration Modifications.
Configure Universal Task
For a new Universal Task, create a new task, and enter the required input fields.
Input Fields
The input fields for this Universal Extension are described below.
Field | Input type | Default value | Type | Description |
---|---|---|---|---|
Action | Required | Create Incident | Choice | Action performed upon the task execution. Available actions.
|
ServiceNow Instance URL | Required | - | Text | URL of the ServiceNow instance. |
ServiceNow Credentials | Required | - | Credentials | Credentials for accessing ServiceNow via API.The Credentials definition should be as follows.
|
Caller | Optional | - | Dynamic Choice | User who reported or is affected by this incident. |
Category | Optional | - | Dynamic Choice | The category for incident creation. If not provided, the default category defined on ServiceNow will be considered. |
Subcategory | Optional | - | Dynamic Choice | The subcategory for incident creation. The choice of Subcategory depends on the previous choice of Category. |
Impact | Optional | - | Choice | Impact of the created incident. The following options are available.
|
Urgency | Optional | - | Choice | Urgency of the created incident. The following options are available.
|
Assigned To | Optional | - | Dynamic Choice | User primarily responsible for treating this incident in ServiceNow. |
Assignment Group | Optional | - | Dynamic Choice | Assignment group that is responsible working on this incident in ServiceNow. |
Short Description | Required | - | Text | Short description of the incident. |
Description | Optional | - | Large Text | Description of the incident. |
Attach Output Source | Required | -- None -- | Choice | Parameter controlling whether an attachment will be attached to the incident and the source of it. The following options are available.
|
Output Type | Optional | All | Choice | The type of output to be used as attachment. The following options are available.
|
Number of lines | Optional | 100 | Integer | The number of lines to be retrieved from the task instance output. The extension will provide up to the specified number of lines, less if there is not enough lines generated. Required when Attach Output Source is “Sibling Task” or “Any Task Instance”. The value must be greater then 0. |
Task Instance ID | Optional | - | Text | UUID of the task instance the output of which is attached. UAC Functions can be used to resolve the required Task Instance ID. For more information the reader can refer to the task examples. Required when Attach Output Source is “Sibling Task” or “Any Task Instance”. |
UC URL | Optional | - | Text | Base URL of the target Universal Controller. Required when Attach Output Source is “Sibling Task” or “Any Task Instance”. |
UC Credential | Optional | - | Credential for accessing the Controller. The Credentials definition should be as follows.
|
Using empty value for dynamic choice fields will result with ServiceNow setting a default value for the field if one exists.
Using non-existing value for dynamic choice fields will result with ServiceNow setting an empty value or a default value for the field if one exists.
Task Examples
Create Incident
Example of creation of an incident.
Create Incident with attachment from a Sibling Task
Example of creation of an incident with attachment from a sibling task within a workflow. The workflow is configured to create a ServiceNow incident when a task fails.
An example workflow where the Failure transition of a SQL Task is followed by a ServiceNow Incident Universal Task is provided below.
An example of a task configured to use the information from the failed Universal Task Instance as attachment for creating a ServiceNow Incident is provided below.
Create Incident from any Task Instance
Example of creation of an incident from any Task Instance.
The best practice to configure such a scenario within UAC is the following.
Step 1: Create a Monitor Task which monitors the failure of tasks by configuring related "Monitor Details".
Step 2: Configure the ServiceNow Incident task. The created Incident Task propagates the output of the failed Task Instance as an attachment to ServiceNow. For that a Task Monitor trigger is required. More information on this on Step 3.
Step 3: Create a Task Monitor Trigger linked to the Monitor Task (on Step 1) which controls the action that needs to be taken when monitor successfully monitors a failure, in this case the trigger of an incident ticket configure on Step 2.
Task Output
Exit Codes
The exit codes for this Universal Extension are described below.
Exit Code | Status Classification Code | Status Classification Description | Status Description |
---|---|---|---|
0 | SUCCESS | Successful Execution | SUCCESS: Ticket Created |
1 | FAIL | Client Error. Error originated on client side. | FAIL: Client Error: < Error description > |
1 | FAIL | Server Error. Error originated from server side. | FAIL: Server Error: < Error description > |
2 | AUTHENTICATION_ERROR | Bad credentials | AUTHENTICATION_ERROR: Account cannot be authenticated. |
3 | AUTHORIZATION_ERROR | Insufficient permissions | AUTHORIZATION_ERROR: Account is not authorized to perform the requested action. |
20 | DATA_VALIDATION_ERROR | Input fields validation error. | DATA_VALIDATION_ERROR: Some of the input fields cannot be validated. See STDERR for more details. |
Extension Output
In the context of a workflow, subsequent tasks can rely on the information provided by this integration as Extension Output.
Attribute changed
is populated as follows
- true, in case ServiceNow incident is successfully created.
- false, in case ServiceNow incident is not successfully created.
The Extension output contains attribute result
. Attribute result
contains the following sub-attributes:
Attribute | Type | Description |
---|---|---|
code | number | The HTTP Response Code from ServiceNow. |
ticket_number | string | The ticket number given to the created incident. |
sys_id | string | The UID of the incident, generated by ServiceNow. |
An example of the Extension Output for creation of an ServiceNow Incident using the output of an Task Instance ID as attachment is presented below.
{
"exit_code": 0,
"status_description": "SUCCESS: ServiceNow Incident Create Incident executed successfully!",
"changed": true,
"invocation": {
"extension": "ue-servicenow-incident",
"version": "1.0.0",
"fields": {
"action": "Create Incident",
"servicenow_instance_url": "https://dev.service-now.com",
"servicenow_credentials_username": "****",
"servicenow_credentials_password": "****",
"caller": "Jewel Agresta",
"category": "Database",
"subcategory": "Oracle",
"impact": "2 - Medium",
"urgency": "3 - Low",
"assigned_to": "Naomi Greenly",
"assignment_group": "Application Development",
"short_description": "It's a short description",
"description": "It's a large text description",
"attach_output_source": null,
"output_type": null,
"number_of_lines": null,
"task_instance_id": null,
"uc_url": null,
"uc_credentials_username": null,
"uc_credentials_password": null
}
},
"result": {
"code": 201,
"ticket_number": "INC0012120",
"sys_id": "b2f52e531bb011104105caa4604bcba0"
}
}
STDOUT and STDERR
STDOUT and STDERR provide additional information to User. The populated content can be changed in future versions of this extension without notice. Backward compatibility is not guaranteed.
Integration Modifications
Modifications applied by users or customers, before or after import, might affect the supportability of this integration. The following modifications are discouraged to retain the support level as applied for this integration.
- Python code modifications should not be done.
- Template Modifications
- General Section
- "Name", "Extension", "Variable Prefix", "Icon" should not be changed.
- Universal Template Details Section
- "Template Type", "Agent Type", "Send Extension Variables", "Always Cancel on Force Finish" should not be changed.
- Result Processing Defaults Section
- Success and Failure Exit codes should not be changed.
- Success and Failure Output processing should not be changed.
- Fields Restriction Section
- Default configured values should not be changed.
- General Section
Users and customers are encouraged to report defects, or feature requests at Stonebranch Support Desk.
Document References
This document references the following documents.
Document Link | Description |
---|---|
Universal Templates | User documentation for creating, working with and understanding Universal Templates and Integrations. |
Universal Tasks | User documentation for creating Universal Tasks in the Universal Controller user interface. |
Credentials | User documentation for creating and working with credentials. |
Resolvable Credentials Permitted Property | User documentation for Resolvable Credentials Permitted Property. |
ServiceNow Documentation | User documentation for ServiceNow. |
Changelog
ue-servicenow-incident-1.0.0 (2022-07-29)
Added
: Basic Functionality for ServiceNow Incidents (#29442)