ServiceNow - Usage
To use the ServiceNow plug-in, the plug-in must be loaded and an instance created before you can configure the plug-in integration and use plug-in automation tasks. You define configuration properties in the user interface or in a JSON file.
See the Automation Tasks section for information about automation tasks.
OAuth authentation
You must provide the following details during integration of service now plug-in to set up OAuth 2.0 authentication:
- client_id
- client_secret
- refreshToken
Generating the OAuth credentials in ServiceNow
To obtain the client_id and client_secret from your ServiceNow instance, perform the following steps:
- Log in to the ServiceNow instance.
- On the left-hand navigation pane, search for OAuth, and then select Application Registry.
- Click New, and then select Create an OAuth API endpoint for external clients.
- Fill in the required details, and then click Submit.
-
Navigate to the newly created OAuth record, and then click on it to view the client_id and client_secret.
- For refreshToken use https://instanceURL/oauth_token.do
- select body x-www-form-urlencoded -> select BulkEdit
grant_type:password client_id:'yourclientId' client_secret:'yourClientSecret' username:'yourUsername' password:'yourPassword
Integration type
The ServiceNow plug-in supports scheduled events integration which are listed in the following table.
Name | Description |
---|---|
snowAllResources | Queries the ServiceNow repository for Incidents, Change request, Problems, ServiceNowWaitChangeTask, ServiceNowWaitRequests |
Integration
There are two methods to integrate the plug-in:
- Using the user interface
- Using a JSON file
Using the user interface
The tables in the Configuration properties section describe the properties used to define the integration.
To install the plug-in, perform the following steps:
- In IBM DevOps Velocity, click Settings > Integrations > Available
- In the Action column for the ServiceNow plug-in, click Install.
To integrate the plug-in, perform the following steps:
- In IBM DevOps Velocity, click Settings > Integrations > Installed.
- In the Action column for the ServiceNow plug-in, click Add Integration.
- On the Add Integration page enter values for the fields used to configure the integration and define communication.
- Click Add.
Using a JSON file
The JSON file contains the information for creating a value stream and integrating with the ServiceNow server. The following table describes the information for the creating a IBM DevOps Velocity value stream map.
- From a value stream page, download the value stream map. The value stream map is a JSON file used to define integrations.
- Edit the JSON file to include the plug-in configuration properties.
- Save and upload the JSON file. This replaces the current JSON file with the new content.
- View the new integration on the Integrations page.
Automation Tasks
The following automation tasks are available in the ServiceNow plug-in:
- ServiceNow – Create Change Request and Change Task
- ServiceNow – Update Change Request and Change Task
- ServiceNow – Wait Change Request
- ServiceNow – Wait Change Task
ServiceNow – Create Change Request and Change Task
Use this step to create a ServiceNow change request and change task.
Name | Description | Required |
---|---|---|
Short Description | A short description of the ServiceNow change request. | Yes |
Request type | The type of request type for the ServiceNow application. For example: Standard, Normal, and Emergency. | Yes |
Assignment group | The assignment group for the ServiceNow application. | Yes |
Additional properties | A list of additional properties for the change request in the format for each list item is {“property”:”value”}. For example: {“short_description”:”Created by DevOps Velocity”}. Separate each list item with a comma (,). See the ServiceNow API documentation for additional properties. | No |
Create change task | To create change task , provide necessary properties. Example:[{“short_description”:”createtask”,”change_task_type”:”planning”,”description”:”changetask”,”start_date”:”2024-01-30 08:05:04″,”end_date”:”2024-01-31 08:05:13″,”outputProperty”:”example”}]. Here outputProperty holds sys_id of change task created. To create multiple change task provide comma separated objects. Example: [{},{},{}].To create under existing change request mention “parent”:”CHG0030008″,”change_request”:”CHG0030008″ along with other properties. | No |
Output property | The name of the property that the sys_id of the created change request is saved. | No |
ServiceNow – Update Change Request and Change Task
Use this step to update a ServiceNow change request in IBM DevOps Velocity.
Name | Description | Required |
---|---|---|
Change Request Number | Enter the change request number. Note: Either change request number or property reference must be provided | No |
Change request system id from property reference | Enter the property reference to system id. Note: Either change request number or property reference must be provided | No |
Change request properties | Enter properties for the change request to be updated in the format for each list item is {“property”:”value”}. For example: {“short_description”:”change request description”,”planned_end_date”:”2024-01-31 07:52:53″,”planned_start_date”:”2024-01-30 07:52:47″}. Separate each list item with a comma (,). See the ServiceNow API documentation for additional properties. | No |
Update change task | To update change task , provide necessary properties. Example to update:[{“sys_id”:”abcd123”,”change_task_type”:”planning”,”state”:”1”,”planned_end_date”:”2024-05-17 02:36:44”,”planned_start_date”:”2024-05-17 02:36:30”}] Example to create:[{“short_description”:”createtask”,”change_task_type”:”planning”,”description”:”changetask”,”planned_end_date”:”2024-05-17 02:36:44”,”planned_start_date”:”2024-05-17 02:36:30”,”outputProperty”:”example”}]. If sys_id not given, it creates change task. To update multiple change task provide comma separated objects.Example: [{},{},{}] | No |
ServiceNow – Wait Change Request
Use this task to wait ServiceNow change request in DevOps Velocity.
Name | Description | Required |
---|---|---|
Change Request Number | Enter the change request number. Note: Either change request number or property reference must be provided | No |
Change request system id from property reference. | Enter the property reference to system id. Note: Either change request number or property reference must be provided | No |
Field | The change request field to wait for a match. | Yes |
Value | The value to match with the change request field. | Yes |
ServiceNow – Wait Change Task
Use this step to create a ServiceNow wait change task.
Name | Description | Required |
---|---|---|
Change task system id from property reference. | Enter the property reference to system id. | Yes |
Change Request Number | Enter the change request number. Note: Either change request number or property reference must be provided | No |
Change request system id from property reference. | Enter the property reference to system id. Note: Either change request number or property reference must be provided | No |
field | Enter the change task field to wait for a match | Yes |
Value | Enter the value to match the change task field | Yes |
Adding automation tasks to a release
After the plug-in is integrated automated tasks are available to add as a task within a release.
- Verify that the ServiceNow server is connected to IBM DevOps Velocity.
- On the Create Task page, select the automation task from the Type field drop-down list.
- Complete the properties required for the task.
- Click Save.
Configuration Properties
The following tables describe the properties used to configure the integration. Each table contains the field name when using the user interface and the property name when using a JSON file.
- The General Configuration Properties table describes configuration properties used by all plug-in integrations.
- The ServiceNow Configuration Properties table describes the ServiceNow configuration properties that define the connection and communications with the ServiceNow server. When using the JSON method to integrate the plug-in these properties are coded within the properties configuration property.
Some properties might not be displayed in the user interface, to see all properties enable the Show Hidden Properties field.
General Configuration Properties
Name | Description | Required | Property Name |
---|---|---|---|
NA | The version of the plug-in that you want to use. To view available versions, click the Version History tab. If a value is not specified, the latest version is used. | No | image |
Integration Name | An assigned name to the value stream. | Yes | name |
Logging Level | The level of Log4j messages to display in the log file. Valid values are: all, debug, info, warn, error, fatal, off, and trace. | No | loggingLevel |
NA | List of configuration properties used to connect and communicate with ServiceNow server. Enclose the properties within braces. | Yes | properties |
The name of the tenant. | Yes | tenant_id | |
NA | Unique identifier assigned to the plug-in. The value for the ServiceNow Server plug-in is ucv-ext-servicenow | Yes | type |
DevOps Velocity User Access Key | An auto-generated user access key provides credentials for communicating with the Velocity server. | Yes | NA |
ServiceNow Configuration Properties
Name | Type | Description | Required | Property Name |
---|---|---|---|---|
Access Token | Secure | The access token used to authenticate with the ServiceNow server. You can use either this property or the Password property for authentication. NOTE: When using OAuth 2.0, the Access Token will be ignored. | No | accessToken |
Password | Secure | The password used to authenticate with the ServiceNow server. | No | password |
URL | String | The URL of the ServiceNow server. | Yes | baseUrl |
User Name | String | The username used to authenticate with the ServiceNow server. | No | username |
Proxy Server | String | The URL of the proxy server including the port number. | No | proxyServer |
Proxy User Name | String | The user name used to authenticate with the proxy server. | No | proxyUsername |
Proxy Password | String | The password used to authenticate with the proxy server. | No | proxyPassword |
Page Size | String | The number of issues retrieved per page. | No | pageSize |
Client Id | String | The client ID used to authenticate with the ServiceNow server using OAuth2.0. | No | client_id |
Client Secret | Secure | The client secret used for authentication with the ServiceNow server using OAuth2.0. | No | client_secret |
Refresh Token | Secure | The refresh token used for authentication with the ServiceNow server using OAuth2.0. | No | refresh_token |
Resource types and sys_params | String | The type/parameters of events to be synced from ServiceNow. Example:[{“table”: “change_request”, “sys_params”: { “category”: “Software” }},…] | Yes | resourceTypesAndSys_params |
Example
The following example can be used as as template to include the ServiceNow plug-in integration into the JSON file. Copy and paste the template into the JSON file and make the appropriate changes.
integrations": [
{
"type": "ucv-ext-servicenow",
"name": "Plugin for ServiceNow",
"tenant_id": "tenant_id",
"logginglevel": "info",
"properties": {
"ucvAccessKey": "devopsvelocity_user_accesskey",
"baseUrl": "url_servicenow_server",
"username": "user_name",
"password": "pass_word",
"client_id": "client_Id",
"client_secret": "client_secret",
"refresh_token": "refresh_token",
"resourceTypesAndSys_params": "[
{ "table": "table_name"},
]"
"accessToken": "access_token"
"proxyServer": "proxy_server_url",
"proxyUsername": "proxy_server_user_name",
"proxyPassword": "proxy_server_password"
}
}
]
Example using the access key
integrations": [
{
"type": "ucv-ext-servicenow",
"name": "Plugin for ServiceNow",
"tenant_id": "tenant_id",
"logginglevel": "info",
"properties": {
"ucvAccessKey": "urbancodevelocity_user_accesskey",
"baseUrl": "url_servicenow_server",
"username": "user_name",
"accessToken": "access_token",
"resourceTypesAndSys_params": "[
{ "table": "table_name"},
]"
"proxyServer": "proxy_server_url",
"proxyUsername": "proxy_server_user_name",
"proxyPassword": "proxy_server_password"
}
}
]
Example using OAuth
integrations": [
{
"type": "ucv-ext-servicenow",
"name": "Plugin for ServiceNow",
"tenant_id": "tenant_id",
"logginglevel": "info",
"properties": {
"ucvAccessKey": "urbancodevelocity_user_accesskey",
"baseUrl": "url_servicenow_server",
"client_id": "client_Id",
"client_secret": "client_secret",
"refresh_token": "refresh_token",
"resourceTypesAndSys_params": "[
{ "table": "table_name"},
]"
"proxyServer": "proxy_server_url",
"proxyUsername": "proxy_server_user_name",
"proxyPassword": "proxy_server_password"
}
}
]
Back to … | Latest Version | ServiceNow | ||||
---|---|---|---|---|---|---|
All Plugins | Velocity Plugins | 1.1.10-File 1 and 1.1.10-File 2 | Readme | Overview | Downloads |