Infrastructure Automation integration with ServiceNow enables authentication with an existing ServiceNow database and add/amend items in the ServiceNow database during state machine processing, such as the virtual machine provisioning state machine. Note that information in this guide assumes you have credentials and access to a ServiceNow database instance.
The following new namespace and class delivers support for the management of ServiceNow Configuration Management Database (CMDB) records using ServiceNow’s RESTful web service.
/Integration/ServiceNow/CMDB
You can manage records in the CMDB_CI_SERVER table, including
create
, update
, and/or delete
. The following methods are included:
Method | Action |
---|---|
create | Create record in specified ServiceNow table. |
delete | Delete record in specified ServiceNow table. |
get | Get record from specified ServiceNow table and list its attributes. |
get_all | Get all records in ServiceNow and list attributes. |
update | Get specified record, update required attributes and post updated record. |
update_patch | Post required attributes to specified record. |
Note:
Configuration item (CI) and record are used interchangeably and refer to items in a ServiceNow database table.
Configure the connection to the ServiceNow database by specifying the credentials in the CMDB schema or instances within.
The following methods are included:
snow_server | ServiceNow database IP address or resolvable hostname. |
snow_user | ServiceNow user account with the necessary permissions. |
snow_password | Associated user account password. |
The table name cannot be changed unless there is a specific requirement to manage records elsewhere. Entries in this table appear in the Configuration > Base Items > Servers menu in the ServiceNow web user interface.
table_name | ServiceNow cmdb_ci_server database table. |
You can specify any attribute via the URI or CMDB class instance. If neither exists, the value is determined from the Infrastructure Automation VM or miq_provision objects.
The attributes can be reduced or extended as required by amending the Ruby methods.
Note:
Some attributes are not free-text (variable) fields, that is, they must be specific values. For example, the vendor
value must already exist in the ServiceNow Vendor table beforehand.
You can use the following attributes when creating and/or updating a record.
Attribute | Value |
virtual | Boolean true or false, set to true. |
name VMs | Virtual infrastructure name. |
short_description | Infrastructure Automation virtual machine GUID. |
host_name | The virtual machine’s operating system hostname. |
cpu_count | The virtual machine’s CPU count. |
ram | The virtual machine’s memory. |
vendor | The virtual machine’s hardware vendor (provider). |
sys_id [1] | ServiceNow record unique system ID. |
You can use the following attribute for getting or deleting a record.
Attribute | Value |
sys_id | ServiceNow record unique system ID. |
There are no attributes required to get all records. This method gets
all records in the specified ServiceNow table and writes their
attributes to automation.log
.
create
. Its value is
returned from the create
request and the Infrastructure Automation object
custom attribute servicenow_sys_id is created and updated.The following examples show how ServiceNow can be integrated with automation workflows.
The Cloud and Infrastructure Provision VM from Template State Machines contain RegisterCMDB and ActivateCMDB states.
To create a new ServiceNow record during virtual machine provisioning,
amend the ActiveCMDB state to call the create
method, for example:
/Integration/ServiceNow/CMDB/create
The Cloud and Infrastructure default Retirement State Machines contain the DeactivateCMDB state.
To update a virtual machine’s ServiceNow record during virtual machine
retirement, amend the DeactivateCMDB state to call the
update_patch
method, for example:
Integration/ServiceNow/CMDB/update_patch?description=VM%20${/#vm.guid}%20retired%20from%20{productname_short}
Create a new System Event instance to update the ServiceNow record after a virtual machine reconfiguration request has been approved and completed.
Create a new /System/Event/ReconfigVM_Task_Complete instance with a relationship value:
/Integration/ServiceNow/CMDB/update_patch