ServiceNow CLI

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:7分
  • ServiceNow CLI は、ローカルシステムからインスタンス操作を実行できるコマンドラインインターフェイスです。CLI を拡張して、アプリケーションのニーズを満たす新しいコマンドを含めることができます。

    利点

    ServiceNow CLI では次のことができます。

    • インスタンス内のレコードに対して基本的な CRUD 操作を実行します。
    • カスタムコンポーネントを開発し、インスタンスに展開して UI をカスタマイズします。
    • コマンドラインからカスタムアプリケーションを管理できるようにするカスタムコマンドを作成します。
    • スクリプトで ServiceNow CLI を使用すると、セットアップタスクと運用アクティビティが簡素化されます。

    アーキテクチャ

    コマンドは、接続先のインスタンスのテーブルに保存されます。ServiceNow CLI がインスタンスに接続すると、そのインスタンスでサポートされているすべての利用可能なコマンドを受け取ります。

    Servicenow CLI とインスタンス間の通信フロー

    コマンドは、非同期で実行される REST エンドポイントにマッピングされます。詳細については、「ServiceNow CLI でのカスタムコマンドの作成」を参照してください。

    ServiceNow CLI のアクティブ化

    ServiceNow Store から要求することで、ServiceNow CLI をインストールします。 ServiceNow Store Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「ServiceNow Storeバージョン履歴のリリースノート」を参照してください。

    構成ファイル

    ServiceNow CLI は、デフォルトでは次のパスのホームディレクトリに格納される config.json ファイルにプロファイル情報を格納します。

    • Linux および Mac:~/.snc/config.json
    • Windows:%USERPROFILE%\.snc\config.json

    CLI はこのファイルを使用して、インスタンスへの接続に使用する情報と、出力の生成に使用する設定を決定します。デフォルトでは、ServiceNow CLIデフォルトのプロファイルの設定を使用してインスタンスに接続します。別の設定を使用する場合は、追加の名前付きプロファイルを作成して参照することができます。 詳細については、「ServiceNow CLI 接続プロファイルの構成と管理」を参照してください。

    次の例は、デフォルトプロファイルと名前付きプロファイルを含む構成ファイルを示しています。各プロファイルは、異なる認証情報を使用し、異なるホストと出力形式を指定できます。

    {
       "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"
             }
          }
    }
    注:
    機密の認証情報は OS キーチェーンにのみ保存され、構成ファイルには保存されません。

    コマンド構造

    ServiceNow CLI コマンドは次の構造に従います。

    1. snc プログラムへの基本呼び出し。
    2. トップレベルのコマンドグループとそれに続く子コマンドグループ。
    3. 実行する操作を指定するコマンド。
    4. 操作に必要な一般的な CLI 引数。引数は任意の順序で指定できます。
    $ snc <command-group> <command> [arguments]

    引数は、数値、文字列、JSON オブジェクトなどのさまざまなタイプの入力値を取ることができます。サポートされるタイプは、指定するコマンドによって異なります。

    引数の値

    ServiceNow CLI 内の引数の値の多くは、次の例のテーブルやテーブル名のように、単純な文字列または数値です。

    $ snc record create --table incident --data "{short_description: 'New Incident'}"

    スペース文字を含まない文字列も、引用符で囲むことができます (任意)。ただし、1 つ以上のスペース文字を含む文字列は、引用符で囲む必要があります。

    出力の形式

    ServiceNow CLI は次の 4 つの出力形式をサポートしています。

    • json:出力は JSON としてフォーマットされます。これがデフォルトです。
      
      {
         "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:出力は YAML としてフォーマットされます。YAML を使用して、YAML 形式の文字列を発行または使用するサービスおよびツールで出力を処理します。
      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
    • text:出力は、タブ区切りの文字列値の複数の行としてフォーマットされます。この出力は、grep、sed、awk などの従来の UNIX テキストツールと、PowerShell によって実行されるテキスト処理で使用します。
      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   yaml
    • table:出力は、人間が判読可能な形式で情報が表示されるテーブルとしてフォーマットされます。
      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   yaml
    • none:CLI は出力をコンソールに出力しません。成功、エラー、および進捗状況のメッセージは引き続き表示されます。

    コマンド出力は、次の 2 とおりの方法で指定できます。

    構成ファイルの名前付きプロファイルで output オプションを使用する
    次の例では、デフォルトの出力形式をテキストに設定します。
    {
        "profiles":{
           "default":{
              "output":"text"
          }
    }
    コマンドラインで --output 引数を使用する
    次の例では、単一のコマンドの出力を JSON に設定します。コマンドのこのオプションは、構成ファイルに現在設定されている値を上書きします。
    $ snc record query --table incident --query ‘active=true’ --output json