ServiceNow CLI でのカスタムコマンドの作成

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:8分
  • ServiceNow CLI でカスタムコマンドを作成して、コマンドラインからカスタムアプリケーションを管理します。

    始める前に

    必要なロール:admin

    このタスクについて

    ServiceNow CLI コマンドは、エンドポイント [sn_cl_metadata_end_point] テーブルのスクリプト化された REST エンドポイントにマッピングされます。スクリプト化された REST エンドポイントを定義してカスタムアプリケーションで機能を実行するか、既存の REST エンドポイントを使用できます。次に、CLI コマンドをマッピングして REST 呼び出しを実行します。

    手順

    1. ServiceNow CLI コマンドで REST エンドポイントを使用できるようにします。
      1. 次のように移動する。 コマンドラインインターフェイス (CLI) > エンドポイント.
      2. [新規] を選択し、フォームに入力します。
        フィールド 説明
        リソースパス 必須です。コマンドのマッピング先のインスタンス上のエンドポイントへのパス。受信 REST API またはスクリプト化された REST API へのパスを指定できます。例:api/now/table/{table}/{sysid}。詳細については、「利用可能な REST API」および「スクリプト済み REST API」を参照してください。
        HTTP メソッド 必須です。ユーザーが関連付けられたコマンドを実行するときに使用する HTTP メソッド。
        アプリケーション エンドポイントの読み取り専用アプリケーションスコープです。
    2. オプション: コマンドグループを作成します。
      または、既存のコマンドグループに新しいコマンドを追加することもできます。
      1. 次のように移動する。 コマンドラインインターフェイス (CLI) > コマンドグループ.
      2. [新規] を選択し、フォームに入力します。
        フィールド 説明
        名前 必須です。コマンドグループの名前。
        親グループ 親コマンドグループ。
        参照グループ 参照するコマンドグループ。たとえば、既存のコマンドグループのエイリアスとして新しいコマンドグループを作成できます。ユーザーが新しいコマンドグループを使用して参照したコマンドを呼び出すと、元のコマンドが実行されます。これにより、新しいコマンドと既存のコマンドの両方を含むカスタムアプリケーションに固有のコマンドグループを作成できます。
        簡単な説明 必須です。コマンドグループの簡単な説明。
        説明 ユーザーがコマンドグループで --help コマンドを実行するときにヘルプテキストとして使用されるコマンドグループの説明。
        アプリケーション コマンドグループの読み取り専用アプリケーションスコープ。
        有効 選択すると、コマンドグループがアクティブになります。
    3. コマンドを作成します。
      1. 次のように移動する。 コマンドラインインターフェイス (CLI) > コマンド.
      2. [新規] を選択し、フォームに入力します。
        フィールド 説明
        名前 必須です。コマンドの名前。
        コマンドグループ 必須です。コマンドが属するコマンドグループ。
        参照コマンド 参照するコマンド。たとえば、既存のコマンドのエイリアスとして新しいコマンドを作成できます。ユーザーが新しいコマンドを呼び出すと、元のコマンドが実行されます。これにより、既存の機能を実行するカスタムアプリケーションに固有のコマンドを作成できます。
        注:
        コマンドは、別のコマンドを参照するコマンド、または子孫コマンド、先祖コマンド、またはコールバックコマンドを参照することはできません。
        API エンドポイント 必須です。ユーザーがコマンドを実行するときに実行する API 呼び出し。
        簡単な説明 必須です。コマンドの簡単な説明。
        アプリケーション コマンドの読み取り専用アプリケーションスコープ。
        有効 選択すると、コマンドがアクティブになります。
        コールバックコマンドである true の場合、コマンドをコールバックコマンドとして指定します。CLI クライアントからのコマンドを非表示にして、ユーザーがコマンドラインからそのコマンドを呼び出せないようにするには、このオプションを選択します。

        このフィールドは、プライマリコマンドの [コールバック] セクションで使用します。コールバックコマンドは、プライマリコマンドが完了すると実行されます。

        ヘルプテキスト
        説明 ユーザーが --help コマンドを実行するときにヘルプテキストとして使用されるコマンドの説明。
        ユーザーが --help コマンドを実行するときにヘルプテキストとして使用されるコマンドの例。
        成功の式 サーバーからの応答を評価し、コマンドが成功したかどうかを判断するために使用される式。例:result.code = 1
        失敗の式 サーバーからの応答を評価し、コマンドが失敗したかどうかを判断するために使用される式。
        メッセージ
        成功メッセージ コマンドが成功したときに CLI クライアントに表示されるメッセージ。
        進行状況メッセージ コマンドの処理中に CLI クライアントに表示されるメッセージ。
        失敗メッセージ コマンドが失敗したときに CLI クライアントに表示されるメッセージ。
        コールバック
        コールバック式 コールバックコマンドを実行するかどうかを決定するために使用される式。たとえば、実行時間の長いプロセスをチェックする式を記述できます。式が特定の結果を生成すると、コールバックが実行されます。
        コールバックコマンド [コールバック式] が満たされたときに実行するコマンド。[コールバックコマンドである] フィールドが選択されたコマンドである必要があります。
        コールバック間隔 コールバックコマンドの実行間隔。

        単位:ミリ秒

        デフォルト:1,000

        最大再試行回数 コールバックコマンドを実行する最大回数。

        デフォルト:10

      3. [コマンド引数] 関連リストで、コマンドに必要なコマンド引数を作成します。

        コマンド引数を作成して、ユーザーがコマンドの実行時にオプションを設定できるようにします。

        フィールド 説明
        名前 必須です。コマンド引数の名前 (例: data)。
        短い名前 コマンド引数の短い名前 (例:d)。
        データタイプ 必須です。コマンド引数の想定されるデータタイプ。次のオプションが含まれます。
        • 文字列:ユーザーが文字列を入力できるようにします。
        • 整数:ユーザーが数値を入力できるようにします。
        • ブーリアン:ユーザーが入力として true または false を入力できるようにします。
        • ファイル入力:ユーザーが入力としてファイルをアップロードできるようにします。次のステップで、この引数を [API エンドポイント引数] 関連リストの本文の [パラメータータイプ] にマッピングします。ユーザーは、プレーンテキスト、YAML、JSON、または REST API で受け入れられる別のファイルタイプを渡すことができます。ユーザーが YAML ファイルを送信すると、CLI クライアントはデフォルトで JSON 形式にファイルを変換します。[前処理をスキップ (Skip Pre-processing)] フィールドを使用して、この動作を無効にします。
        • パスワード:ユーザーがパスワードを安全に入力できるようにします。
        注:
        ファイル入力データタイプの場合、ファイルサイズ制限はデフォルトで 10 MB です。ただし、glide.rest.scripted.max_inbound_content_length_mb システムのプロパティを使用してこの制限を変更できます。
        前処理をスキップ (Skip Pre-processing) CLI クライアントが YAML ファイルを要求で送信する前に JSON 形式に変換しないようにするには、このフラグを設定します。[データタイプ][ファイル入力] に設定されている場合、ユーザーが YAML ファイルを送信すると、デフォルトでは、CLI クライアントはコマンドを実行する前にファイルを JSON に変換します。
        注:
        [データタイプ][ファイル入力]に設定されている場合にのみ適用されます。
        デフォルト値 ユーザーが値を渡さない場合に使用するデフォルト値。
        簡単な説明 必須です。コマンド引数の簡単な説明。ユーザーが --help コマンドを実行するときにヘルプテキストとして使用されます。
        アプリケーション 引数の読み取り専用アプリケーションスコープ。
        コマンド 必須です。引数の適用先のコマンド。
        必須 選択した場合、ユーザーは関連付けられたコマンドを実行するときに引数の値を入力する必要があります。
        プロンプト ユーザーからの情報を要求するためのプロンプト。ユーザーがコマンドに必要な引数を含めていない場合、CLI で情報の入力を求められます。
        可視化の式 CLI が引数を要求するかどうかを決定するために使用される式。通常、前の引数に指定された値に基づいて引数を表示するために使用されます。
        順番 引数の入力を要求する順番。
      4. [API エンドポイント引数] 関連リストで、コマンドに必要な任意の API エンドポイント引数を作成します。

        [コマンド引数] 関連リストのコマンド引数を、REST エンドポイントのパラメーターにマッピングします。

        フィールド 説明
        名前 必須です。引数の名前。
        必須です。REST エンドポイントに渡すコマンドの値。静的な値、または {flags.table} などの式を渡すことができます。コマンド引数にアクセスするには、flags グローバル変数を使用します。
        パラメータタイプ 必須です。[値] を渡す REST エンドポイントのパラメーターのタイプ。たとえば、[本文] を選択すると、CLI は [値] フィールドの値 を REST エンドポイント本文に渡します。次のオプションが含まれます。
        • 本文
        • ヘッダー
        • パス
        • クエリ
        アプリケーション 引数の読み取り専用アプリケーションスコープ。
        コマンド 必須です。引数の適用先のコマンド。
      5. [戻り値] 関連リストで、コマンドに必要な戻り値を作成します。

        応答から特定のキーのみを返す戻り値を作成します。

        フィールド 説明
        パス式 必須です。返すキーへのパスを表す式。
        エイリアス 戻り値を割り当てる変数名。
        アプリケーション コマンドの読み取り専用アプリケーションスコープ。
        コマンド 必須です。戻り値が適用されるコマンド。

    タスクの結果

    ユーザーが ServiceNow CLI コマンドを実行すると、関連付けられた REST API 呼び出しが実行され、結果が ServiceNow CLI に返されます。