ServiceNow CLI
ServiceNow CLI ist eine Befehlszeilenschnittstelle, mit der Sie Instanzvorgänge von Ihrem lokalen System aus ausführen können. Sie können die CLI um neue Befehle erweitern, die den Anforderungen Ihrer Anwendung entsprechen.
Vorteile
Mit ServiceNow CLI können Sie:
- Führen Sie grundlegende CRUD-Vorgänge für Datensätze in Ihrer -Instanz aus.
- Entwickeln Sie anwenderdefinierte Komponenten, und stellen Sie sie in Ihrer Instanz bereit, um eine Anwenderoberfläche zu personalisieren.
- Erstellen Sie anwenderdefinierte Befehle, mit denen Sie anwenderdefinierte Anwendungen über die Befehlszeile verwalten können.
- Verwenden Sie ServiceNow CLI in Skripts, um Setup-Aufgaben und operative Aktivitäten zu vereinfachen.
Architektur
Befehle werden in einer Tabelle in der Instanz gespeichert, mit der Sie verbunden sind. Wenn ServiceNow CLI eine Verbindung zur Instanz herstellt, werden alle verfügbaren Befehle empfangen, die von dieser Instanz unterstützt werden.
Befehle sind einem REST-Endpunkt zugeordnet, der asynchron ausgeführt wird. Weitere Informationen finden Sie unter Erstellen Sie einen anwenderdefinierten Befehl in ServiceNow CLI.
ServiceNow CLI aktivieren
Installieren Sie ServiceNow CLI, indem Sie es von ServiceNow Store anfordern. Besuchen Sie die ServiceNow Store-Website, um alle verfügbaren Apps anzuzeigen und Informationen zum Senden von Anforderungen an den Store zu erhalten. Kumulative Informationen zum Release für alle veröffentlichten Apps finden Sie in den Release-Hinweisen zum ServiceNow Store-Versionsverlauf.
Konfigurationsdatei
ServiceNow CLI speichert Profilinformationen in einer Datei config.json, die standardmäßig in Ihrem Home-Verzeichnis unter folgendem Pfad gespeichert ist:
- Linux und Mac: ~/.snc/config.json
- Windows: %USERPROFILE%\.snc\config.json
Die CLI verwendet diese Datei, um zu bestimmen, welche Informationen zum Herstellen einer Verbindung mit einer Instanz und mit welchen Einstellungen die Ausgabe generiert werden soll. Standardmäßig verwendet ServiceNow CLI die Einstellungen im Standardprofil, um eine Verbindung zu einer Instanz herzustellen. Um alternative Einstellungen zu verwenden, können Sie zusätzliche benannte Profile erstellen und referenzieren. Weitere Informationen finden Sie unter Ihre ServiceNow CLI -Verbindungsprofile konfigurieren und verwalten.
Das folgende Beispiel zeigt eine Konfigurationsdatei mit einem Standardprofil und einem benannten Profil. Jedes Profil kann unterschiedliche Anmeldeinformationen verwenden und unterschiedliche Hosts und Ausgabeformate angeben.
{
"profiles":{
"default":{
"host":"https://myinstance.service-now.com",
"loginmethod":"basic",
"username":"admin",
"output":"json",
"hostversion":"Paris",
"appversion":"1.0"
},
"user1":{
"host":"https://otherinstance.service-now.com",
"loginmethod":"basic",
"username":"user1",
"output":"yaml",
"hostversion":"Paris",
"appversion":"1.0"
}
}
}Befehlsstruktur
ServiceNow CLI -Befehle folgen dieser Struktur:
- Der Basisaufruf des
SNC-Programms. - Die Befehlsgruppe der obersten Ebene, gefolgt von allen untergeordneten Befehlsgruppen.
- Der Befehl, der angibt, welcher Vorgang ausgeführt werden soll.
- Allgemeine CLI-Argumente, die für den Vorgang erforderlich sind. Sie können Argumente in beliebiger Reihenfolge angeben.
$ snc <command-group> <command> [arguments]Argumente können verschiedene Arten von Eingabewerten annehmen, z. B. Zahlen, Zeichenfolgen und JSON-Objekte. Die unterstützten Typen hängen vom angegebenen Befehl ab.
Argumentwerte
Viele Argumentwerte in ServiceNow CLI sind einfache Zeichenfolgen oder numerische Werte, z. B. die Tabelle und der Tabellenname im folgenden Beispiel.
$ snc record create --table incident --data "{short_description: 'New Incident'}"Sie können Zeichenfolgen, die keine Leerzeichen enthalten, mit Anführungszeichen umgeben oder nicht. Sie müssen jedoch Zeichenfolgen, die mindestens ein Leerzeichen enthalten, in Anführungszeichen setzen.
Ausgabeformate
ServiceNow CLI unterstützt vier Ausgabeformate:
json: Die Ausgabe wird als JSON formatiert. Dies ist der Standard.{ "default": { "appversion": "1.0.8", "host": "https://myinstance.service-now.com", "hostversion": "Paris", "loginmethod": "basic", "output": "json", "username": "admin" }, "user1": { "appversion": "1.0.8", "host": "https://otherinstance.service-now.com", "hostversion": "Paris", "loginmethod": "basic", "output": "yaml", "username": "admin" } }yaml: Die Ausgabe wird als YAML formatiert. Verwenden Sie YAML, um die Ausgabe mit Services und Tools zu verarbeiten, die YAML-formatierte Zeichenfolgen ausgeben oder verbrauchen.default: appversion: 1.0.8 host: https://myinstance.service-now.com hostversion: Paris loginmethod: basic output: json username: admin user1: appversion: 1.0.8 host: https://otherinstance.service-now.com hostversion: Paris loginmethod: basic output: yaml username: adminText: Die Ausgabe wird als mehrere Zeilen von durch Tabulatoren getrennten Zeichenfolgenwerten formatiert. Verwenden Sie diese Ausgabe mit herkömmlichen UNIX-Texttools wie grep, sed und awk sowie der von PowerShell durchgeführten Textverarbeitung.default https://myinstance.service-now.com Paris 1.0.8 basic admin json user1 https://otherinstance.service-now.com Paris 1.0.8 basic admin yamltable: Die Ausgabe wird als Tabelle formatiert, die die Informationen in einem für Menschen lesbaren Format darstellt.NAME HOST HOST VERSION APP VERSION LOGIN METHOD USERNAME OUTPUT ------------------------------------------------------------------------------- default myinstance Paris 1.0.8 basic admin json user1 otherinstance Paris 1.0.8 basic admin yamlkeine: Die CLI gibt die Ausgabe nicht an die Konsole aus. Erfolgs-, Fehler- und Fortschrittsmeldungen werden weiterhin angezeigt.
Sie können die Befehlsausgabe auf zwei Arten angeben:
- Verwenden Sie die
Ausgabeoptionin einem benannten Profil in der Konfigurationsdatei - Im folgenden Beispiel wird das Standardausgabeformat auf Text festgelegt.
{ "profiles":{ "default":{ "output":"text" } } - Verwenden Sie das Argument
„--output“in der Befehlszeile - Im folgenden Beispiel wird die Ausgabe eines einzelnen Befehls auf JSON festgelegt. Diese Option im Befehl überschreibt jeden derzeit festgelegten Wert in der Konfigurationsdatei.
$ snc record query --table incident --query ‘active=true’ --output json