ServiceNow SDK CLI

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:21分
  • ServiceNow SDK コマンドラインインターフェイス (CLI) を使用して、ローカルアプリケーションとインスタンス上のアプリケーション間の変更を管理します。

    システムのコマンドラインツールから、「now-sdk」と入力して CLI を起動し、使用可能なコマンドのリストを返すか、「now-sdk [command]」と入力して ServiceNow SDK の使用を開始します。

    注:
    npx を使用してグローバルではなくアプリケーションに ServiceNow SDK をインストールする場合は、ServiceNow SDK CLI で now-sdk [command] ではなく npx @servicenow/sdk [command] を使用する必要があります。

    CLI には、次のコマンドとグローバルオプションが含まれています。

    表 : 1. グローバルオプション
    オプション 説明
    --version、-v CLI のバージョンを返します。
    --help、-h コマンド、サブコマンド、およびパラメーターに関する情報を返します。
    --debug、-d コマンドで生成されたデバッグログを返します。

    auth

    インスタンスに対して認証し、システム上のインスタンスにアクセスするためのユーザー認証情報を保存、更新、または表示します。

    auth コマンドには、認証情報の追加、認証情報の削除、認証情報のリスト、およびデフォルトで使用する認証情報の設定を行うためのパラメーターがあります。

    詳細については、「を使用した ServiceNow インスタンスへの認証 ServiceNow SDK」を参照してください。

    追加

    システムのデバイスキーチェーンまたは認証情報マネージャーに認証情報を保存します。

    auth コマンドは、--add パラメーターを使用して次の構造を持ちます。
    npx @servicenow/sdk auth [--add <instance url>] [--type <auth method>] [--alias <alias>]
    注:
    npx コマンドを使用すると、ServiceNow SDKがグローバルではなくアプリケーションディレクトリにインストールされます。
    表 : 2. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    --add 文字列 アクセスし、アプリケーションをインストールするターゲットインスタンスの URL。インスタンスは Washington DC リリース以降である必要があります。
    表 : 3. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --type 文字列 ターゲットインスタンスでの認証に使用する方法。ベーシック認証の場合は basic を、OAuth 2.0 認証の場合は oauth を指定します。 basic
    --alias 文字列 インスタンスおよびユーザー認証情報のエイリアス。

    エイリアスは、 inittransformdependencies、および install コマンドによる認証に使用できます。

    たとえば、次のようになります。
    npx @servicenow/sdk auth --add https://myinstance.service-now.com --type oauth --alias devuser1

    delete

    システムのデバイスキーチェーンまたは認証情報マネージャーの認証情報を削除します。

    auth コマンドには、--delete パラメーターを使用した次の構造があります。
    now-sdk auth [--delete <alias or all>]
    表 : 4. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    --delete 文字列

    インスタンスおよびユーザー認証情報のエイリアス。

    すべての認証情報を削除するには、このパラメーターを --delete all に設定します。

    たとえば、次のようになります。
    now-sdk auth --delete devuser1

    リスト

    システムのデバイスキーチェーンまたは認証情報マネージャーに保存された認証情報を表示します。パスワード と認証コード は返されません。

    auth コマンドには、--list パラメーターを使用した次の構造があります。
    now-sdk auth [--list]
    表 : 5. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    --list 文字列 利用可能なすべての認証情報をリストします。
    たとえば、次のようになります。
    now-sdk auth --list

    使用

    コマンドでデフォルトで使用される認証情報を設定します。

    auth コマンドには、--use パラメーターを使用した次の構造があります。
    now-sdk auth [--use <alias>]
    表 : 6. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    --use 文字列 インスタンスおよびユーザー認証情報のエイリアス。
    たとえば、次のようになります。
    now-sdk auth --use devuser1

    初期

    カスタムのスコープ対象のアプリケーションを作成するか、既存のスコープ対象のアプリケーションを変換して、ソースコードでの開発をサポートします。アプリケーションが現在のディレクトリに追加されます。

    デフォルトの認証情報を使用してアプリケーションを作成するには、オプションのパラメーターを指定せずに init コマンドを実行できます。たとえば、 now-sdk init です。既存のアプリケーションを変換するには、 --from パラメーターを含めて、インスタンス上のアプリケーションのsys_id、またはアプリケーションを含むローカルディレクトリへのパスを指定する必要があります。

    アプリケーションを初期化した後、アプリケーションをビルドする前に、優先パッケージマネージャーを使用して、必要なサードパーティの依存関係をインストールする必要があります。たとえば、ノードパッケージマネージャー (npm) を使用する場合は、 npm install を実行します。

    init コマンドの構造は次のとおりです。
    npx @servicenow/sdk init [--from <sys_id or path>] [--appName <name>] [--packageName <name>] [--scopeName <name>] [--auth <alias>] [--template <template>]
    注:
    npx コマンドを使用すると、ServiceNow SDKがグローバルではなくアプリケーションディレクトリにインストールされます。
    表 : 7. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --from 文字列 インスタンス上のアプリケーションのsys_id、またはソースコードでの開発をサポートするために変換するアプリケーションを含むローカルディレクトリへのパス。

    アプリケーションを変換すると、 ServiceNow SDK をローカルで使用するために必要なファイルとディレクトリが追加され、アプリケーションメタデータがダウンロードされます。アプリケーションをビルドしてインスタンスにインストールするまで、インスタンス上のアプリケーションは変更されません。変換されたアプリケーションをインストールすると、カスタムアプリケーションレコード [sys_app] の [ JSON のパッケージ化] フィールドに、アプリケーションの package.json ファイルへのパスが含まれます。

    --appName 文字列 アプリケーションの名前。
    --packageName 文字列 package.jsonファイルで使用されるアプリケーションパッケージの名前。 パッケージ名は、ノードパッケージマネージャー (npm) のパッケージ命名基準に準拠している必要があります。
    --scopeName 文字列 アプリケーションのスコープ。

    スコープ名はインスタンス上で一意で、x_<プリフィックス> で始まり、18 文字以下である必要があります。詳細については、「名前空間識別子」を参照してください。

    --auth-a 文字列 インスタンスへの認証に使用する認証情報のエイリアス。 設定されている場合は、デフォルトのエイリアス。
    --template 文字列 アプリケーションのデフォルト構造のテンプレート。
    • base:ソースコードでの開発に必要な基本構造のみを備えたアプリケーション。
    • javascript.basic: ServiceNow Fluent および JavaScript での開発用に構成されたアプリケーション。
    • javascript.react: ServiceNow Fluent、JavaScript、および React での開発用に構成されたアプリケーション。
    • typescript.basic: ServiceNow Fluent および TypeScript での開発用に構成されたアプリケーション。src/server ディレクトリ内の TypeScript ソースファイルは JavaScript モジュールにトランスパイルされます。
    • typescript.react: ServiceNow Fluent、TypeScript、および React での開発用に構成されたアプリケーション。src/server ディレクトリ内の TypeScript ソースファイルは JavaScript モジュールにトランスパイルされます。
    • partial.javascript.react: ServiceNow Fluent、JavaScript、および React で開発するために、既存のアプリケーションにテンプレートファイルとディレクトリを追加します。
    • partial.typescript.react: ServiceNow Fluent、TypeScript、および React で開発するために、既存のアプリケーションにテンプレートファイルとディレクトリを追加します。
    たとえば、次のようになります。
    npx @servicenow/sdk init --from dbce0f6a3b3fda107b45b5d355e45af6 --appName Example App --packageName example-app --scopeName x_snc_example --auth devuser1 --template base

    詳細については、「を使用してアプリケーションを作成 する ServiceNow SDK」または「でアプリケーションを変換する ServiceNow SDK」を参照してください。

    ビルド

    ソースファイルをコンパイルし、 、アーティファクトをビルドします。サードパーティライブラリの依存関係は、アプリケーションとともにインストールできる XML ファイルに変換されます。

    build コマンドの構造は次のとおりです。
    now-sdk build <source> [--frozenKeys <flag>]
    表 : 8. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    ソース 文字列 アプリケーションの package.json ファイルが含まれているディレクトリへのパス。

    package.json は、アプリケーションのベースディレクトリに存在する必要があります。

    現在の作業ディレクトリ
    --frozenKeys ブール 継続的インテグレーション (CI) ビルドの keys.ts ファイルが最新であることを検証するオプション。true で、アプリケーションの ServiceNow Fluent コードが変更された場合、 keys.ts ファイルは更新されず、ビルドは失敗します。

    keys.tsファイルは、src/fluent/generated ディレクトリに自動的に生成されます。

    false
    たとえば、次のようになります。
    now-sdk build /path/to/package --frozenKeys true

    詳細については、「でのアプリケーションのとインストールの展開ServiceNow SDK」を参照してください。

    インストール

    ビルドアーティファクトをパッケージ化し、インスタンスにアプリケーションします。install コマンドを使用する前に、build コマンドを使用してインストール可能なパッケージを生成する必要があります。

    install コマンドの構造は次のとおりです。

    now-sdk install [--source <package path>] [--reinstall <flag>] [--auth <alias>] [--open-browser <flag>] [--info <flag>]
    表 : 9. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --source 文字列 アプリケーションの package.json ファイルが含まれているディレクトリへのパス。

    package.json は、アプリケーションのベースディレクトリに存在する必要があります。

    現在の作業ディレクトリ
    --reinstall-r ブール インスタンス上のアプリケーションをアンインストールして再インストールし、インスタンス上のメタデータがインストールパッケージ内のメタデータと一致するようにするオプション。
    警告:
    インスタンスにはあるがローカルアプリケーションにはないメタデータは削除されます。

    EcmaScript モジュールの [sys_module] テーブルに不要となった以前のバージョンのモジュールがある場合、アプリケーションを再インストールすると、以前のバージョンのアプリケーションのモジュールがテーブルから削除されます。

    false
    --auth-a 文字列 インスタンスへの認証に使用する認証情報のエイリアス。
    注:
    CI/CD パイプラインの場合、次の環境変数を設定して、ベーシック認証を使用して実行時にインスタンスで認証できます。
    • SN_SDK_INSTANCE_URL:アクセスし、アプリケーションをインストールするターゲットインスタンスの URL。
    • SN_SDK_USER:インスタンスのユーザー名。
    • SN_SDK_USER_PWD:ユーザーに関連付けられたパスワード。
    • SN_SDK_NODE_ENV:CI サーバーのサポートを有効にするには、SN_SDK_CI_INSTALL に設定します。
    設定されている場合は、デフォルトのエイリアス。
    --open-browser-b ブール アプリケーションを正常にインストールした後に、デフォルトのブラウザーでアプリケーションレコードを開くオプション。 false
    --info、-i ブール ステータスや更新されたレコードなど、このアプリケーションの最新のインストールに関する詳細を返すオプション。このパラメーターを使用すると、アプリケーションはインストールされません。 false
    たとえば、次のようになります。
    now-sdk install --source /path/to/package --reinstall false --auth devuser1 --open-browser true --info true

    詳細については、「でのアプリケーションのとインストールの展開ServiceNow SDK」を参照してください。

    依存関係

    インスタンスからアプリケーションの依存関係と TypeScript 定義をダウンロードして、アプリケーションの IntelliSens とコード検証を有効にします。

    dependencies コマンドは、スクリプトとServiceNow Fluentコードの依存関係と TypeScript 定義をダウンロードします。

    • スクリプトの場合、このコマンドはすべての Glide API の TypeScript 定義をダウンロードし、アプリケーションのモジュールとスクリプトをスキャンして、使用するスクリプトインクルードのタイプ定義を生成します。タイプ定義は @types/servicenow ディレクトリに追加されます。スクリプトの依存関係をダウンロードした後、 tsconfig.json ファイルを更新して型定義を含める必要があります。
    • ServiceNow Fluentの場合、このコマンドはアプリケーションのnow.config.jsonファイルにリストされている依存関係をダウンロードし、それらの TypeScript 定義を @types/servicenow/fluent ディレクトリに生成します。

    アプリケーションのすべてのスクリプトと ServiceNow Fluent 依存関係をダウンロードするには、パラメーターなしで dependencies コマンドを使用できます。必要に応じて、アプリケーションディレクトリと認証エイリアスも指定します。

    dependencies コマンドの構造は次のとおりです。

    now-sdk dependencies [--directory <package path>] [--auth <alias>][--type-defs-only <flag>] [--fluent-only <flag>] [--add <table> <sys_ids or names>] [--scope <name>]
    表 : 10. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --directory 文字列 アプリケーションの package.json ファイルが含まれているディレクトリへのパス。

    package.json は、アプリケーションのベースディレクトリに存在する必要があります。

    現在の作業ディレクトリ
    --auth-a 文字列 インスタンスへの認証に使用する認証情報のエイリアス。 設定されている場合は、デフォルトのエイリアス。
    --type-defs-only ブール スクリプトの依存関係のみの TypeScript 定義をダウンロードするオプション。

    スクリプトタイプは @types/servicenow ディレクトリにダウンロードされます。

    false
    --fluent-only ブール 他のアプリケーションスコープから ServiceNow Fluent 依存関係のみの依存関係と TypeScript 定義をダウンロードするオプション。アプリケーションの依存関係をその now.config.json ファイルにリストする必要があります。

    ServiceNow Fluent タイプは @types/servicenow/fluent ディレクトリに生成されます。

    false
    --add 文字列 ダウンロードする依存関係をアプリケーションの now.config.json ファイルに追加します。テーブル名を使用して、追加する依存関係のタイプを指定し、追加する各アイテムの名前またはsys_idsをスペースで区切って指定する必要があります。
    --add <table_name> <sys_id1> <sys_id2> <sys_id3>
    • テーブルの依存関係を追加するには、sys_idsの代わりに テーブル エイリアスとテーブルの名前を使用できます。たとえば、次のようになります。
      --add tables incident problem change_request
    • ロールの依存関係を追加するには、sys_idsの代わりに ロール エイリアスとロールの名前を使用できます。たとえば、次のようになります。
      --add roles admin user itil
    指定したテーブルとスコープのすべてのアイテムを追加するには、ワイルドカード (*) を使用します。たとえば、次のようになります。
    --add sys_security_acl "*"
    sysIds アレイ TypeScript 定義をダウンロードして生成する依存関係のsys_idsのリスト。このパラメーターは、 --add パラメーターを使用する場合にのみ適用されます。
    --scope 文字列 依存関係のダウンロード元のアプリケーションスコープ。このパラメーターは、 --add パラメーターを使用する場合に必要です。
    たとえば、次のようになります。
    now-sdk dependencies --directory /path/to/package --auth devuser1 --add sys_ui_view fa776f6d97700100f309124eda2975bc --scope global

    詳細については、「を使用した依存関係のダウンロード ServiceNow SDK」を参照してください。

    変換

    インスタンスからアプリケーションメタデータ (XML) をダウンロードし、メタデータをソースコードに変換して ServiceNow Fluent インスタンスでのアプリケーションの変更をローカルアプリケーションに同期します。

    アプリケーションを初期化した後、パラメーターを指定せずに transform コマンドを実行して、インスタンスの新しいアプリケーションメタデータを src/fluent/generated ディレクトリのソースコードに変換し、メタデータへの変更を src/fluent ディレクトリのソースコードに同期できます。アプリケーションの初期化時に存在していたメタデータをソースコードに変換するには、 --from パラメーターを使用して、XML を含むローカルディレクトリまたはファイルへのパスを指定します。メタデータが XML とソースコードの両方としてローカルアプリケーションに存在する場合、インスタンスにインストールされるときに XML バージョンが優先されます。

    変換コマンドの構造は次のとおりです。
    now-sdk transform [--from <path>] [--directory <package path>] [--preview <flag>] [--auth <alias>] [--format <flag>]
    表 : 11. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --from 文字列 ServiceNow Fluentコードに変換するメタデータ XML を含むローカルディレクトリまたはファイルへのパス。
    --directory 文字列 アプリケーションの package.json ファイルが含まれているディレクトリへのパス。

    package.json は、アプリケーションのベースディレクトリに存在する必要があります。

    現在の作業ディレクトリ
    --preview ブール 変更を保存せずにコマンドラインから変換された ServiceNow Fluent コードをプレビューするオプション。 false
    --auth-a 文字列 インスタンスへの認証に使用する認証情報のエイリアス。 設定されている場合は、デフォルトのエイリアス。
    --format-f ブール 変換時に新規および更新された ServiceNow Fluent ソースコードをフォーマットするオプション。 true
    たとえば、次のようになります。
    now-sdk transform --from metadata/update --directory /path/to/package --preview true --auth devuser1 --format true

    詳細については、「でアプリケーションを変換する ServiceNow SDK」または「でのアプリケーションのとインストールの展開ServiceNow SDK」を参照してください。

    ダウンロード

    インスタンス上のアプリケーションからすべてのアプリケーションメタデータ (XML) をダウンロードして、ローカルアプリケーションのメタデータと比較します。

    インスタンスからアプリケーションメタデータをダウンロードするときに、JavaScript モジュールの更新は含まれません。

    ダウンロードコマンドの構造は次のとおりです。
    now-sdk download <directory> [--source <package path>] [--incremental <flag>]
    表 : 12. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    ディレクトリ 文字列 メタデータをダウンロードするディレクトリへのパス。
    注:
    このディレクトリは、アプリケーションの メタデータ ディレクトリとは異なるディレクトリである必要があります。
    表 : 13. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --source 文字列 アプリケーションの package.json ファイルが含まれているディレクトリへのパス。

    package.json は、アプリケーションのベースディレクトリに存在する必要があります。

    現在の作業ディレクトリ
    --incremental ブール インスタンスで行われ、カスタマーアップデート [sys_update_xml] テーブルに記録されているアプリケーションメタデータへの変更のみをダウンロードするオプション。 false
    例:
    now-sdk download /path/to/directory --source /path/to/package --incremental true

    クリーン

    前のビルドで出力されたビルドアーティファクトを削除します。

    clean コマンドの構造は次のとおりです。
    now-sdk clean <source>
    表 : 14. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    ソース 文字列 アプリケーションの package.json ファイルが含まれているディレクトリへのパス。

    package.json は、アプリケーションのベースディレクトリに存在する必要があります。

    現在の作業ディレクトリ
    たとえば、次のようになります。
    now-sdk clean /path/to/package

    パック

    以前のビルドで出力されたビルドアーティファクトを、インストール可能な ZIP ファイルにパッケージ化します。

    pack コマンドの構造は次のとおりです。
    now-sdk pack <source>
    表 : 15. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    ソース 文字列 アプリケーションの package.json ファイルが含まれているディレクトリへのパス。

    package.json は、アプリケーションのベースディレクトリに存在する必要があります。

    現在の作業ディレクトリ
    たとえば、次のようになります。
    now-sdk pack /path/to/package