ServiceNow SDKを使用した依存関係のダウンロード

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:8分
  • IntelliSens とスクリプトと ServiceNow Fluent コードの検証のために、インスタンスからアプリケーションの依存関係と TypeScript 定義をダウンロードします。

    開発プロセス全体を通じて、インスタンスから依存関係と TypeScript 定義をダウンロードして、アプリケーションでこれらの依存関係に対するコーディングをサポートする必要があります。

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

    アプリケーションの依存関係 ServiceNow Fluent ダウンロード

    他のアプリケーションスコープ内の依存関係の TypeScript 定義をダウンロードして、 ServiceNow Fluent コードの IntelliSens サポートと検証を取得します。

    始める前に

    ServiceNow SDKを使用してアプリケーションをローカルシステムに追加します。詳細については、「ServiceNow SDKを使用したアプリケーションの追加」を参照してください。

    必要なロール:admin

    このタスクについて

    この手順では、ServiceNow SDK コマンドラインインターフェイス (CLI) を使用します。コマンドラインツールから「now-sdk --help」と入力して、使用可能なコマンドとグローバルオプションに関する情報を取得します。コマンドとそのパラメーターに関する追加情報を取得するには、そのコマンドと --help または -h を入力します。たとえば、now-sdk auth --help などです。CLI の詳細については、「 ServiceNow SDK CLI」を参照してください。

    手順

    1. Visual Studio Code で、スコープ対象のアプリケーションのディレクトリを開きます。
    2. now.config.jsonファイルで、アプリケーションが依存するアイテムを依存関係オブジェクトに追加します。

      dependencies オブジェクトの構造は次のとおりです。アプリケーションスコープと依存関係タイプ、および名前またはsys_idsを指定する必要があります。名前で指定できるのは、テーブルとロールのみです。ワイルドカード (*) を使用して、指定したテーブルとスコープのすべてのアイテムを追加できます。

      "dependencies": {
          "<scope>": {
            "<type>": ["<sys_id or name>"],
            ...
          },
          ...
      }

      たとえば、次のようになります:

      {
        "dependencies": {
          "global": {
            "tables": ["incident", "problem"],
            "roles": ["admin"],
            "sys_script_client": ["fa776f6d97700100f309124eda2975bc"]
          },
          "x_custom": {
            "tables": ["custom_table"],
            "sys_security_acl": "*",
          }
        }
      }
    3. 変更内容を保存します。
    4. アプリケーションディレクトリから、統合されたターミナルウィンドウを開きます。
    5. dependencies コマンドを使用して、アプリケーションの依存関係をダウンロードします。
      now-sdk dependencies --auth <alias> --fluent-only
      注:
      スクリプトの依存関係もダウンロードする場合は、 --fluent-only パラメーターを除外します。

      dependencies コマンドは、now.config.json ファイルで指定された依存関係をダウンロードし、ファイル拡張子が .d.now.ts@types/servicenow/fluent ディレクトリにそれらの TypeScript 定義を生成します。アプリケーションをビルドするとき、これらのファイルはソース コード ファイルのようにコンパイルされません。

    次のタスク

    #now:{scope}/{category} サブパスインポート形式を使用して、ServiceNow Fluent ファイルの依存関係を参照できます。たとえば、次のようになります:
    // Import roles from global scope
    import { role as globalRole } from '#now:global/security'
    
    // Import roles from custom app scope  
    import { role as xExampleAppRole } from '#now:x_example_app/security'
    
    // Use in ACLs, flows, etc.
    Acl({
        $id: Now.ID['my_acl'],
        type: 'record',
        table: 'incident',
        operation: 'read',
        roles: [globalRole.admin, xExampleAppRole.xExampleAppCool],
    })
    これを行うには、アプリケーションの package.json ファイルに次の インポート 構成が含まれている必要があります。
    {
      "imports": {
        "#now:*": "./@types/servicenow/fluent/*/index.js"
      }
    }

    モジュールとスクリプトの依存関係をダウンロード

    モジュールとスクリプトの依存関係の TypeScript 定義をダウンロードして、Glide API とスクリプトインクルードの IntelliSens サポートと検証を取得します。

    始める前に

    ServiceNow SDKを使用してアプリケーションをローカルシステムに追加します。詳細については、「ServiceNow SDKを使用したアプリケーションの追加」を参照してください。

    必要なロール:admin

    このタスクについて

    この手順では、ServiceNow SDK コマンドラインインターフェイス (CLI) を使用します。コマンドラインツールから「now-sdk --help」と入力して、使用可能なコマンドとグローバルオプションに関する情報を取得します。コマンドとそのパラメーターに関する追加情報を取得するには、そのコマンドと --help または -h を入力します。たとえば、now-sdk auth --help などです。CLI の詳細については、「 ServiceNow SDK CLI」を参照してください。

    手順

    1. Visual Studio Code で、スコープ対象のアプリケーションのディレクトリを開きます。
    2. アプリケーションディレクトリから、統合されたターミナルウィンドウを開きます。
    3. dependencies コマンドを使用して、アプリケーションのスクリプトの依存関係をダウンロードします。
      now-sdk dependencies --auth <alias> --type-defs-only
      注:
      アプリケーションの依存関係もダウンロードする場合は、 --type-defs-only パラメーターを除外します。

      dependencies コマンドは、すべての Glide API の型定義をダウンロードし、アプリケーションのモジュールとスクリプトをスキャンして、それらが使用するスクリプトインクルードの型定義を作成します。タイプ定義は @types/servicenow ディレクトリに追加されます。他のタイプ定義を追加する場合は、手動で作成します。詳細については、「API のタイプ定義の追加」を参照してください。

    4. src/fluent ディレクトリに、サーバー側スクリプト用のtsconfig.server.jsonファイルを作成します。
      インクルードオブジェクトに、サーバーサイドの Glide API (glide.server.d.ts) とスクリプトインクルード (script-includes.server.d.ts) 用にダウンロードした型定義を含めます。
      {
        "compilerOptions": {
          "lib": [
            "ES2021"
          ],
          "noEmit": true,
          "checkJs": false,
          "allowJs": true,
          "noEmitHelpers": true,
          "esModuleInterop": false,
          "module": "None",
          "types": []
        },
        "include": [
          "./**/*.server.js",
          "../../@types/servicenow/*.server.d.ts",
        ]
      }
    5. src/fluent ディレクトリに、クライアント側スクリプト用のtsconfig.client.jsonファイルを作成します。
      include オブジェクトに、クライアント側の Glide API (glide.client.d.ts) 用にダウンロードした型定義を含めます。
      {
        "compilerOptions": {
          "target": "ES6",
          "lib": [
            "DOM",
            "ES6"
          ],
          "checkJs": false,
          "allowJs": true,
          "noEmit": true,
          "noEmitHelpers": true,
          "esModuleInterop": false,
          "module": "None",
          "types": []
        },
        "include": [
          "./**/*.client.js",
          "../../@types/servicenow/*.client.d.ts",
        ]
      }
    6. src/fluent ディレクトリに、tsconfig.jsonファイルを作成します。
      注:
      この tsconfig.json ファイルは、TypeScript を使用して JavaScript モジュールを作成するアプリケーションに使用される tsconfig.json ファイルとは別のものです。

      参照オブジェクトで、tsconfig.server.jsonファイルとtsconfig.client.jsonファイルへのパスを追加します。

      {
        "files": [],
        "references": [
          {
            "path": "./tsconfig.server.json"
          },
          {
            "path": "./tsconfig.client.json"
          }
        ]
      }
    7. 変更内容を保存します。

    タスクの結果

    この構成では、サーバーサイドスクリプトには .server.js ファイル拡張子を使用し、クライアントサイドスクリプトには .client.js ファイル拡張子を使用し、開発中に先行入力サポートを受けることができます。