ServiceNow SDK CLI

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

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

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

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

    アップグレード

    Yokohama リリースのインスタンスで使用するには、最新バージョンの ServiceNow SDK にアップグレードします。

    ServiceNow SDK をアップグレードしても、以前 ServiceNow SDK で作成または変換したアプリケーションは更新されません。

    upgrade コマンドの構造は次のとおりです。
    now-sdk upgrade [--debug <flag>]
    例:
    now-sdk upgrade --debug true

    auth

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

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

    追加

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

    auth コマンドは、--add パラメーターを持つ次の構造を持ちます。
    now-sdk auth [--add <instance url>] [--type <auth method>] [--alias <alias>]
    表 : 2. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    --足す 文字列 認証情報を保存するインスタンス名または URL。
    表 : 3. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --種類 文字列 新しい認証情報に使用する認証のタイプ [選択肢:「basic」、「oauth」]
    --別名 文字列 ホストおよびユーザーの認証情報の一意の識別子。

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

    例:
    now-sdk auth --add https://myinstance.service-now.com --type oauth --alias devuser1

    削除

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

    auth コマンドは、--delete パラメーターを持つ次の構造を持ちます。
    now-sdk auth [--delete <alias>]
    表 : 4. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    --削除 文字列 ホストおよびユーザーの認証情報の一意の識別子。
    例:
    now-sdk auth --delete devuser1

    リスト

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

    auth コマンドは、--list パラメーターを持つ次の構造を持ちます。
    now-sdk auth [--list]
    表 : 5. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    --リスト 文字列 利用可能なすべての認証情報をリストします
    例:
    now-sdk auth --list

    使用

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

    auth コマンドは、--use パラメーターを持つ次の構造を持ちます。
    now-sdk auth [--use <alias>]
    表 : 6. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    --使う 文字列 ホストおよびユーザーの認証情報の一意の識別子。
    例:
    now-sdk auth --use devuser1

    作成を開始

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

    init コマンドの構造は次のとおりです。
    now-sdk init [--from <sysID or path>] [--appName <name>] [--packageName <name>] [--scopeName <name>] [--auth <alias>]
    表 : 7. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --差出人 文字列 インスタンス上のアプリケーションのsys_id、またはソースコードでの開発をサポートするために変換するアプリケーションを含むディレクトリへのパス。

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

    --appName 文字列 アプリケーションの名前。

    このパラメーターは、 --interactive パラメーターが false に設定されている場合に必要です。

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

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

    このパラメーターは、 --interactive パラメーターが false に設定されている場合に必要です。

    --auth-a 文字列 インスタンスへの認証に使用する認証情報のエイリアス。 設定されている場合は、デフォルトのエイリアス。
    例:
    now-sdk init --from dbce0f6a3b3fda107b45b5d355e45af6 --appName Example App --packageName example-app --scopeName x_snc_example --auth devuser1

    変換

    アプリケーションメタデータ (XML) を更新セットまたはローカルディレクトリから ServiceNow Fluent ソースコードに変換します。

    transform コマンドの構造は次のとおりです。
    now-sdk transform [--from <sys_id or path>] [--source <package path>] [--preview <flag>]
    表 : 8. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --差出人 文字列 インスタンス上の更新セットのsys_id、または ServiceNow Fluent コードに変換するメタデータ XML を含むディレクトリまたはファイルへのパス。
    --source 文字列 アプリケーションの package.json ファイルへのパス。

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

    現在の作業ディレクトリ
    --プレビュー ブール 変更を保存せずに、コマンドラインから変換された ServiceNow Fluent コードをプレビューします。 false

    例:

    now-sdk transform --from metadata/update --source /path/to/package --preview true

    convert

    インスタンスから既存のアプリケーションを変換して、Visual Studio Code でのローカル変更、および ServiceNow SDK でのアプリケーション変更のインスタンスへの展開をサポートします。

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

    convert コマンドの構造は次のとおりです。
    now-sdk convert <scopeName> <packageName> [<directory>] [--auth <alias>] [--projectType <type>] [--template <type>]
    表 : 9. 必須パラメーター
    パラメーター タイプ 説明 デフォルト値
    scopeName 文字列 既存アプリケーションのスコープ。
    packageName 文字列 package.json ファイルで使用されるアプリケーションパッケージの名前。

    パッケージ名は、NPM パッケージの命名基準に準拠している必要があります。

    表 : 10. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    ディレクトリ 文字列 アプリケーションのディレクトリとファイルを作成するローカルディレクトリ。 現在の作業ディレクトリ
    --auth、-a 文字列 インスタンスへの認証に使用する認証情報のエイリアス。 設定されている場合は、デフォルトのエイリアス。
    --projectType 文字列 アプリケーションのタイプ。アプリケーションファイルのダウンロード方法とデフォルトのアプリケーション構成を決定します。
    • fluent:既存のアプリケーションメタデータがダウンロードされ、src/fluent ディレクトリ内のServiceNow Fluentコードに変換されます。 デフォルトのアプリケーション構成は、 ServiceNow Fluent、JavaScript モジュール、およびサードパーティライブラリを使用するように設定されます。
      注:
      メタデータスナップショット [sys_metadata_link] や UX 資産 [sys_ux_lib_asset] など、限られた数のメタデータタイプは、 ServiceNow Fluent コードとして表すことができず、変換されません。
    • module: 既存のアプリケーション・メタデータは、 メタデータ ・ディレクトリにメタデータXMLとしてダウンロードされます。 デフォルトのアプリケーション構成は、JavaScript モジュールとサードパーティライブラリのみを使用するように設定されています。
    モジュールの
    --template-t 文字列 モジュールで JavaScript と TypeScript のどちらを使用するかを指定するオプション。このオプションは、 package.json ファイルと now.config.json ファイルの構成を決定し、TypeScript プロジェクトの tsconfig.json ファイルを追加します。
    • javascript:アプリケーションは、src/server ディレクトリからモジュールに.jsファイルをビルドするように構成されています。
    • typescript: アプリケーションは、src/server ディレクトリからモジュールに.tsファイルをビルドするように設定されています。
    javascript

    例:

    now-sdk convert x_snc_example example-app /path/to/app_folder --auth user1-dev --projectType fluent --template typescript

    fetch

    インスタンスからアプリケーションメタデータをダウンロードし、それに合わせてローカルアプリケーションのメタデータ XML ファイルを更新します。

    インスタンスからアプリケーションメタデータをフェッチする際に、JavaScript モジュールの更新は含まれません。

    fetch コマンドの構造は次のとおりです。
    now-sdk fetch [--directory <package path>] [--auth <alias>]
    表 : 11. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --directory 文字列 アプリケーションへのパス。 現在の作業ディレクトリ
    --auth、-a 文字列 インスタンスへの認証に使用する認証情報のエイリアス。 設定されている場合は、デフォルトのエイリアス。
    例:
    now-sdk fetch --auth devuser1 --directory /path/to/package

    dependencies

    Glide API の TypeScript タイプ定義やスクリプトインクルードなど、スクリプトの依存関係をインスタンスからダウンロードします。

    アプリケーションにスクリプトの依存関係を含めると、Glide API とスクリプトインクルードの先行入力サポートが追加されます。型定義は @types/@servicenow ディレクトリにダウンロードされます。

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

    now-sdk dependencies [--directory <package path>] [--auth <alias>]
    依存関係をダウンロードした後、 tsconfig.json ファイルを更新してタイプ定義を含める必要があります。例:
    "include": [
      "src/server/**/*.ts",   
      "./@types/servicenow/glide.server.d.ts", 
      "./@types/servicenow/script-includes.server.d.ts"
    ]
    表 : 12. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    --directory 文字列 アプリケーションの package.json ファイルへのパス。

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

    現在の作業ディレクトリ
    --auth-a 文字列 インスタンスへの認証に使用する認証情報のエイリアス。 設定されている場合は、デフォルトのエイリアス。
    例:
    now-sdk dependencies --directory /path/to/package --auth devuser1

    ビルド

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

    build コマンドの構造は次のとおりです。
    now-sdk build <source> [--frozenKeys <flag>]
    表 : 13. オプションのパラメーター
    パラメーター タイプ 説明 デフォルト値
    ソース 文字列 アプリケーションの 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

    インストール

    インスタンスでアプリケーションをインストールまたは更新します。install コマンドを使用する前に、build コマンドを使用してインストール可能なパッケージを生成する必要があります。

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

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

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

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

    EcmaScript モジュール [sys_module] テーブルに不要になった以前のバージョンのモジュールがある場合、reinstall パラメーター (now-sdk deploy --reinstall true) を使用してアプリケーションをインストールすると、以前のバージョンのアプリケーションのモジュールがテーブルから削除されます。

    false
    --auth-a 文字列 インスタンスへの認証に使用する認証情報のエイリアス。 設定されている場合は、デフォルトのエイリアス。
    --open-browser-b ブール アプリケーションを正常にインストールした後に、デフォルトのブラウザーでアプリケーションレコードを開くオプション。 false
    --info、-i ブール 更新されたステータスやレコードなど、このアプリケーションの最新のインストールに関する詳細を返すオプション。このパラメーターを使用すると、アプリケーションはインストールされません。 false
    例:
    now-sdk install --source /path/to/package --reinstall false --auth devuser1 --open-browser true --info true