Package: ipfabric-snow
ServiceNow Integration with IP FabricThis project syncs devices from IP Fabric's Inventory to Service Now's CMDB Network Gear Table.CLI Utility Installationpipinstallipfabric-snowService Now ConfigurationPlease see theService Now Configurationsection for details on how to configure Service Now for use with this integration.Environment SetupCopy sample.env to .env and fill in the necessary details.
During the setup, you'll be prompted to enter the necessary environment variables including URLs and authentication details for both ServiceNow and IP Fabric.Quick StartTo sync devices from IP Fabric to Service Now, run:ipfabric-snowsyncdevicesIf the environment is not properly set up, you'll be prompted to set it up. Follow the prompts to provide the necessary details.ipfabric-snow--helpUsage:ipfabric-snow[OPTIONS]COMMAND[ARGS]...╭─Options──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│--log-levelTEXTLoglevel[default:INFO]│
│--log-to-file--no-log-to-fileLogtofile[default:log-to-file]│
│--log-file-nameTEXTLogfilename[default:ipf_serviceNow.log]│
│--log-json--no-log-jsonLoginJSONformat[default:no-log-json]│
│--install-completionInstallcompletionforthecurrentshell.│
│--show-completionShowcompletionforthecurrentshell,tocopyitorcustomizetheinstallation.│
│--helpShowthismessageandexit.│
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─Commands─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│envSetupenvironmentvariables│
│syncSyncInventorydatawithServiceNow│
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯❯ipfabric-snowsync--helpUsage:ipfabric-snowsync[OPTIONS]COMMAND[ARGS]...SyncInventorydatawithServiceNow╭─Options─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│--helpShowthismessageandexit.│
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─Commands────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│devicesSyncdevicesfromIPFabrictoServiceNow│
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ipfabric-snowsyncdevices--helpUsage:ipfabric-snowsyncdevices[OPTIONS][STAGING_TABLE_NAME]SyncdevicesfromIPFabrictoServiceNow╭─Arguments────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│staging_table_name[STAGING_TABLE_NAME]ThenameoftheServiceNowstagingtabletouse.[default:x_1249630_ipf_devices]│
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─Options──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│--show-diff--no-show-diffDisplaythedatadifference[default:no-show-diff]│
│--diff-sourceTEXTSpecifythemainsourcefordiff,eitherIPForSNOW[default:IPF]│
│--write-diff--no-write-diffEnableordisablewritingthedifftoafile[default:no-write-diff]│
│--diff-fileTEXTPathtosavethedifffile,ifdesired[default:data/{date_time}_diff_{diff_source}.json]│
│--dry-run--no-dry-runPerformadryrunwithoutmakinganychanges[default:no-dry-run]│
│--ipf-snapshotTEXTIPFabricsnapshotIDtouseforthesync[default:$last]│
│--timeoutINTEGERtimeoutforhttpxrequests[default:10]│
│--output-verbose--no-output-verboseaddsmoredetailtotheoutput.Identifieswhichkeyschangedperdevice[default:no-output-verbose]│
│--helpShowthismessageandexit.│
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

exampleofsyncdevicescommand:```shell
ipfabric-snow--log-levelDEBUGsyncdevices--show-diff--diff-sourceSNOW--ipf-snapshot"12dd8c61-129c-431a-b98b-4c9211571f89"--output-verbose--timeout30DevelopmentPoetryClone the repository and runpoetryinstallInvokeThis project usesInvokefor task automation. To see a list of available tasks, run:invoke--listClearing the Netgear TableDuring Development, you may want to clear the netgear table in Service Now.
To clear the netgear table, run:❯invokeclear-netgear-tableAny Changes to Service Now Application should be merged into the main_snow_app branch