Skip to content
This repository has been archived by the owner on Dec 1, 2023. It is now read-only.

Latest commit

 

History

History
73 lines (49 loc) · 4.24 KB

README.md

File metadata and controls

73 lines (49 loc) · 4.24 KB

Nautobot Single Source of Truth -- ServiceNow Data Target

The code in this repository has been migrated to the Nautobot SSoT Repository as an integration - read more about it in the SSoT Docs! As of August 2023 this repository has been FROZEN - all development / issues / discussions for this integration are in the Nautobot SSoT Repository going forward.

A plugin for Nautobot, building atop the nautobot-ssot plugin.

This plugin provides the ability to synchronize basic data from Nautobot into ServiceNow. Currently the following data is mapped and synchronized:

  • Nautobot Manufacturer table to ServiceNow Company table
  • Nautobot DeviceType table to ServiceNow Hardware Product Model table
  • Nautobot Region and Site tables to ServiceNow Location table
  • Nautobot Device table to ServiceNow IP Switch table
  • Nautobot Interface table to ServiceNow Interface table

For more information about general usage of the Nautobot SSoT plugin, refer to its documentation.

Installation and Configuration

The plugin is available as a Python package in PyPI and can be installed with pip into an existing Nautobot installation:

pip install nautobot-ssot-servicenow

The plugin is compatible with Nautobot 1.2.0 and higher

Once installed, the plugin needs to be enabled in your nautobot_config.py and configured appropriately:

# nautobot_config.py
PLUGINS = [
    "nautobot_ssot",
    "nautobot_ssot_servicenow",
]

PLUGINS_CONFIG = {
    "nautobot_ssot": {
        "hide_example_jobs": True,
    },
    "nautobot_ssot_servicenow": {
        "instance": os.getenv("SERVICENOW_INSTANCE"),
        "username": os.getenv("SERVICENOW_USERNAME"),
        "password": os.getenv("SERVICENOW_PASSWORD"),
    },
}

The plugin behavior can be controlled with the following list of settings:

  • instance: The ServiceNow instance to point to (as in <instance>.servicenow.com)
  • username: Username to access this instance
  • password: Password to access this instance

There is also the option of omitting these settings from PLUGINS_CONFIG and instead defining them through the UI at /plugins/ssot-servicenow/config/ (reachable by navigating to Plugins > Installed Plugins then clicking the "gear" icon next to the Nautobot SSoT ServiceNow entry) using Nautobot's standard UI and secrets functionality.

If you configure the plugin's settings in PLUGINS_CONFIG, those values will take precedence over any configuration in the UI.

Depending on the amount of data involved, and the performance of your ServiceNow instance, you may need to increase the Nautobot job execution time limits (CELERY_TASK_SOFT_TIME_LIMIT and CELERY_TASK_TIME_LIMIT) so that the job can execute to completion without timing out.

Questions

For any questions or comments, please check the FAQ first and feel free to swing by the Network to Code slack channel (channel #networktocode). Sign up here

Usage

Once the plugin is installed and configured, from the Nautobot SSoT dashboard view (/plugins/ssot/), ServiceNow will be shown as a Data Target. You can click the Sync button to access a form view from which you can run the Nautobot-to-ServiceNow synchronization Job. Running the job will redirect you to a Nautobot Job Result view, from which you can access the SSoT Sync Details view to see detailed information about the outcome of the sync Job.

Detail View


Results View