{"id":865121,"date":"2020-05-18T13:51:21","date_gmt":"2020-05-18T20:51:21","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=865121"},"modified":"2022-01-28T11:51:17","modified_gmt":"2022-01-28T19:51:17","slug":"node-js-utility-network-command-line-interface-tools-uncli","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli","title":{"rendered":"Node JS Utility Network Command Line Interface tools (uncli)"},"author":7511,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23851],"tags":[565442,660431],"industry":[],"product":[515312],"class_list":["post-865121","blog","type-blog","status-publish","format-standard","hentry","category-data-management","tag-arcgis-utility-network","tag-utility-network-api","product-utility-network"],"acf":{"short_description":"In this blog post I explore the utility network Node JS API that has been written in Javascript. Tools such as update subnetworks, export etc.","flexible_content":[{"acf_fc_layout":"content","content":"<p>The uncli is a command line utility written with Javascript\u00a0 on top of Node JS framework. It allows users to use the Utility Network functionalities by calling the dedicated REST API.<\/p>\n<p>By just installing<a href=\"https:\/\/nodejs.org\/en\/\"> Node JS 13<\/a> or higher you will have access to ability to connect to a Utility network service, list the subnetworks, query the topology status, update subnetworks, export subnetworks, disable and enable topology and much more.<\/p>\n<p>You can use this tool to schedule task to update all subnetworks, or configure <a href=\"https:\/\/www.jenkins.io\/\">Jenkins<\/a> (an automation server) to update export subnetworks nightly and much more. The uncli works on all operating systems, Windows, Linux &amp; MacOS.<\/p>\n<p>In this blog I will go through the process of installing the uncli tools and I will also link the <a href=\"https:\/\/github.com\/hussein-nasser\/uncli\">github repo<\/a> where you can download and take a look at the<a href=\"https:\/\/github.com\/hussein-nasser\/uncli\"> source code<\/a> too.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Installing uncli<\/h1>\n<p>The installation process of the tool is simple. All you need to do is to install Node JS 13.x or higher. The current version of Node JS is 14.x.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":865151,"id":865151,"title":"nodejs","filename":"nodejs.png","filesize":14533,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/nodejs.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\/nodejs","alt":"","author":"7511","description":"","caption":"","name":"nodejs","status":"inherit","uploaded_to":865121,"date":"2020-05-18 20:04:07","modified":"2020-05-18 20:04:07","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":649,"height":464,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/nodejs-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/nodejs.png","medium-width":365,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/nodejs.png","medium_large-width":649,"medium_large-height":464,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/nodejs.png","large-width":649,"large-height":464,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/nodejs.png","1536x1536-width":649,"1536x1536-height":464,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/nodejs.png","2048x2048-width":649,"2048x2048-height":464,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/nodejs.png","card_image-width":649,"card_image-height":464,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/nodejs.png","wide_image-width":649,"wide_image-height":464}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Once you install Node js , open a command line prompt and type in the following<\/p>\n<p>&nbsp;<\/p>\n<div class=\"highlight highlight-source-shell\" style=\"text-align: left\">\n<pre>npm install -g un-cli\r\n<\/pre>\n<\/div>\n<p>Once you install the uncli tools, you can now use them as follows: Connect to your portal by specifying the user name, password and the feature service name that has a utility network in it.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"highlight highlight-source-shell\">\n<pre><span class=\"pl-k\">&gt;<\/span> uncli --portal https:\/\/utilitynetwork.esri.com\/portal --service NapervilleElectric_SQLServer --user tester --password tester.108<\/pre>\n<\/div>\n"},{"acf_fc_layout":"content","content":"<h1>Commands<\/h1>\n<p>I&#8217;ll go through the most popular commands but feel free to explore the rest. Also feel free to suggest new commands that might be useful to add to the tool!<\/p>\n<p>&nbsp;<\/p>\n<h2>Help<\/h2>\n<p><strong>&gt;help<\/strong><\/p>\n<p>At any time you can type &#8220;help&#8221; to get a list of all commands available.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1469262,"id":1469262,"title":"help","filename":"help-1.png","filesize":67164,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\/help-3","alt":"","author":"7511","description":"","caption":"","name":"help-3","status":"inherit","uploaded_to":865121,"date":"2022-01-28 19:49:08","modified":"2022-01-28 19:49:08","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1314,"height":508,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1.png","medium-width":464,"medium-height":179,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1.png","medium_large-width":768,"medium_large-height":297,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1.png","large-width":1314,"large-height":508,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1.png","1536x1536-width":1314,"1536x1536-height":508,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1.png","2048x2048-width":1314,"2048x2048-height":508,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1-826x319.png","card_image-width":826,"card_image-height":319,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1.png","wide_image-width":1314,"wide_image-height":508}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/help-1.png"},{"acf_fc_layout":"content","content":"<h2>Get Count of Features<\/h2>\n<p><strong>&gt; count<\/strong><\/p>\n<p>Count how many features you have in your Utility Network<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":865171,"id":865171,"title":"count","filename":"count.png","filesize":5656,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/count.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\/count","alt":"","author":"7511","description":"","caption":"","name":"count","status":"inherit","uploaded_to":865121,"date":"2020-05-18 20:11:58","modified":"2020-05-18 20:11:58","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":449,"height":245,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/count-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/count.png","medium-width":449,"medium-height":245,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/count.png","medium_large-width":449,"medium_large-height":245,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/count.png","large-width":449,"large-height":245,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/count.png","1536x1536-width":449,"1536x1536-height":245,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/count.png","2048x2048-width":449,"2048x2048-height":245,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/count.png","card_image-width":449,"card_image-height":245,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/count.png","wide_image-width":449,"wide_image-height":245}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2>Update All Subnetworks<\/h2>\n<p><strong>&gt;update subnetworks -all<\/strong><\/p>\n<p>This command updates all dirty subnetworks one by one. It fetches all subnetworks that are dirty and updates them in a synchronous manner.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>Update Deleted Subnetworks<\/h2>\n<p><strong>&gt;update subnetworks -deleted<\/strong><\/p>\n<p>This commands only update subnetworks that has been marked for deleted (or have some of their controllers disabled).<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>Export All Subnetworks<\/h2>\n<p><strong>&gt;export subnetworks -all<\/strong><\/p>\n<p>This command exports all subnetworks that have been cleaned and successfully updated and writes the exported json in the home directory.<\/p>\n<p>&nbsp;<\/p>\n<h2>Export New Subnetworks<\/h2>\n<p><strong>&gt;export subnetworks -new<\/strong><\/p>\n<p>This command exports all subnetworks that have been cleaned and successfully updated but haven&#8217;t yet been exported and writes the exported json in the home directory.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":865181,"id":865181,"title":"export","filename":"export.png","filesize":7208,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/export.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\/export-3","alt":"","author":"7511","description":"","caption":"","name":"export-3","status":"inherit","uploaded_to":865121,"date":"2020-05-18 20:17:56","modified":"2020-05-18 20:17:56","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":639,"height":308,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/export-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/export.png","medium-width":464,"medium-height":224,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/export.png","medium_large-width":639,"medium_large-height":308,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/export.png","large-width":639,"large-height":308,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/export.png","1536x1536-width":639,"1536x1536-height":308,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/export.png","2048x2048-width":639,"2048x2048-height":308,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/export.png","card_image-width":639,"card_image-height":308,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/export.png","wide_image-width":639,"wide_image-height":308}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h1>Automate uncli or execute commands in bulk<\/h1>\n<p>To automate or execute multiple commands in bulk you can use the -file parameter to specify a txt file with the list of command to execute ..<\/p>\n<p>Create a text file and add your commands to it. For example below is two commands that update all subnetworks and export them. Name the file commands.txt<\/p>\n<pre><code>update subnetworks -all\r\nexport subnetworks -new\r\n \r\n\r\n<\/code><\/pre>\n<p>add the -file option and provide the text file that you need to execute.<\/p>\n<p><code> <\/code>uncli &#8211;portal <a href=\"https:\/\/utilitynetwork.esri.com\/portal\" rel=\"nofollow\">https:\/\/utilitynetwork.esri.com\/portal<\/a> &#8211;service NapervilleElectric_SQLServer &#8211;user tester &#8211;password tester.108 &#8211;file commands.txt<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.jenkins.io\/\">Jenkins<\/a> is an automation server that allows you to automate tasks, this tools works with Jenkins as well<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":865201,"id":865201,"title":"jenkins","filename":"jenkins.png","filesize":12790,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/jenkins.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\/jenkins","alt":"","author":"7511","description":"","caption":"","name":"jenkins","status":"inherit","uploaded_to":865121,"date":"2020-05-18 20:23:24","modified":"2020-05-18 20:23:24","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1030,"height":557,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/jenkins-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/jenkins.png","medium-width":464,"medium-height":251,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/jenkins.png","medium_large-width":768,"medium_large-height":415,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/jenkins.png","large-width":1030,"large-height":557,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/jenkins.png","1536x1536-width":1030,"1536x1536-height":557,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/jenkins.png","2048x2048-width":1030,"2048x2048-height":557,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/jenkins-826x447.png","card_image-width":826,"card_image-height":447,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/jenkins.png","wide_image-width":1030,"wide_image-height":557}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h1>Considerations<\/h1>\n<p>This tool is still in alpha phase, please report any bugs you find in the comments box in this blog post. Thank you so much! The tool works only on DEFAULT currently.<\/p>\n<p>&nbsp;<\/p>\n<p>Update: 1\/28\/2022<\/p>\n<p>The tool was updated to include connecting to a specific gdbVersion and also list attribute rules execution summary by querying the logs.<\/p>\n"}],"authors":[{"ID":7511,"user_firstname":"Hussein","user_lastname":"Nasser","nickname":"Hussein Nasser","user_nicename":"hussein-nasser","display_name":"Hussein Nasser","user_email":"HNasser@esri.com","user_url":"http:\/\/www.husseinnasser.com","user_registered":"2018-03-21 18:21:21","user_description":"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/un-.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/un21.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Node JS Utility Network Command Line Interface tools (uncli)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Node JS Utility Network Command Line Interface tools (uncli)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-28T19:51:17+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\"},\"author\":{\"name\":\"Hussein Nasser\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b\"},\"headline\":\"Node JS Utility Network Command Line Interface tools (uncli)\",\"datePublished\":\"2020-05-18T20:51:21+00:00\",\"dateModified\":\"2022-01-28T19:51:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\"},\"wordCount\":9,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS Utility Network\",\"Utility Network API\"],\"articleSection\":[\"Data Management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\",\"name\":\"Node JS Utility Network Command Line Interface tools (uncli)\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-05-18T20:51:21+00:00\",\"dateModified\":\"2022-01-28T19:51:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node JS Utility Network Command Line Interface tools (uncli)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b\",\"name\":\"Hussein Nasser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png\",\"caption\":\"Hussein Nasser\"},\"description\":\"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.\",\"sameAs\":[\"http:\/\/www.husseinnasser.com\",\"https:\/\/www.linkedin.com\/in\/hnaser\/\",\"https:\/\/x.com\/hnasr\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Node JS Utility Network Command Line Interface tools (uncli)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli","og_locale":"en_US","og_type":"article","og_title":"Node JS Utility Network Command Line Interface tools (uncli)","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2022-01-28T19:51:17+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli"},"author":{"name":"Hussein Nasser","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b"},"headline":"Node JS Utility Network Command Line Interface tools (uncli)","datePublished":"2020-05-18T20:51:21+00:00","dateModified":"2022-01-28T19:51:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS Utility Network","Utility Network API"],"articleSection":["Data Management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli","name":"Node JS Utility Network Command Line Interface tools (uncli)","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-05-18T20:51:21+00:00","dateModified":"2022-01-28T19:51:17+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/node-js-utility-network-command-line-interface-tools-uncli#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Node JS Utility Network Command Line Interface tools (uncli)"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b","name":"Hussein Nasser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png","caption":"Hussein Nasser"},"description":"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.","sameAs":["http:\/\/www.husseinnasser.com","https:\/\/www.linkedin.com\/in\/hnaser\/","https:\/\/x.com\/hnasr"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser"}]}},"text_date":"May 18, 2020","author_name":"Hussein Nasser","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/05\/un21.png","primary_product":"ArcGIS Utility Network","tag_data":[{"term_id":565442,"name":"ArcGIS Utility Network","slug":"arcgis-utility-network","term_group":0,"term_taxonomy_id":565442,"taxonomy":"post_tag","description":"","parent":0,"count":87,"filter":"raw"},{"term_id":660431,"name":"Utility Network API","slug":"utility-network-api","term_group":0,"term_taxonomy_id":660431,"taxonomy":"post_tag","description":"","parent":0,"count":7,"filter":"raw"}],"category_data":[{"term_id":23851,"name":"Data Management","slug":"data-management","term_group":0,"term_taxonomy_id":23851,"taxonomy":"category","description":"","parent":0,"count":927,"filter":"raw"}],"product_data":[{"term_id":515312,"name":"ArcGIS Utility Network","slug":"utility-network","term_group":0,"term_taxonomy_id":515312,"taxonomy":"product","description":"","parent":36981,"count":141,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=utility-network","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/865121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/7511"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=865121"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/865121\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=865121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=865121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=865121"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=865121"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=865121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}