でアプリケーションを変換する ServiceNow SDK

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:7分
  • 既存のスコープ対象のアプリケーションを変換し、 ServiceNow SDKを使用したソースコードでの開発をサポートします。

    始める前に

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

    必要なロール:admin

    このタスクについて

    ServiceNow IDE または ServiceNow SDK で作成されていない既存のスコープ対象のアプリケーションは、ソースコードでの開発をサポートするように変換する必要があります。アプリケーションを変換すると、ソースコードで開発するために必要なファイルとディレクトリが追加されます。既存のアプリケーションメタデータを ServiceNow Fluent コードに変換するかどうかを選択できます。 アプリケーションをビルドしてインスタンスにインストールするまで、インスタンス上のアプリケーションは変更されません。

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

    手順

    1. アプリケーションのローカルディレクトリを作成します。
    2. Visual Studio Codeで、ディレクトリを開きます。
    3. アプリケーションディレクトリから、統合されたターミナルウィンドウを開きます。
    4. init コマンドを使用して、インスタンスまたはローカルディレクトリーから既存のスコープ対象のアプリケーションを変換します。

      --from パラメーターを使用して、インスタンス上のアプリケーションのsys_id、またはソースコードでの開発をサポートするために変換するアプリケーションが含まれているローカルディレクトリへのパスを指定します。

      npx @servicenow/sdk init --from <sys_id or path>
      たとえば、次のようになります。
      npx @servicenow/sdk init --from aadfdd904748a6500ff14ee4316d4369
      注:
      npx コマンドを使用すると、ServiceNow SDKがグローバルではなくアプリケーションディレクトリにインストールされます。
    5. プロンプトで、 package.json ファイルで使用されるアプリケーションパッケージの名前を入力します。

      パッケージ名は、ノードパッケージマネージャー (npm) のパッケージ命名基準に準拠している必要があります。

      次の例では、アプリケーションがインスタンスからダウンロードされ、そのsys_idを使用して変換されます。
      $ npx @servicenow/sdk init --from aadfdd904748a6500ff14ee4316d4369
      [now-sdk] Bootstrapping a new ServiceNow application project...
      [now-sdk] Please provide the missing required fields:
      ? NPM package name:  example-app
      [now-sdk] Access Token has expired, refreshing token
      [now-sdk] Downloading application package for aadfdd904748a6500ff14ee4316d4369 from https://myinstance.service-now.com
      [now-sdk] Unzipping downloaded package...
      [now-sdk] Successfully downloaded and unzipped application aadfdd904748a6500ff14ee4316d4369
      [now-sdk] Summary of downloaded metadata files
      Metadata: 13 (Total: 13)
        Copied To Metadata Directory::
          1. dictionary/x_snc_example_app_mytable.xml
          2. package_inventory.csv
          3. sys_app_aadfdd904748a6500ff14ee4316d4369.xml
          4. update/sys_db_object_7030a5d04748a6500ff14ee4316d4338.xml
          5. update/sys_dictionary_x_snc_example_app_mytable_null.xml
          6. update/sys_documentation_x_snc_example_app_mytable__en.xml
      ... and 7 more
      
      [now-sdk] Successfully converted application.
      [now-sdk] Install the required dependencies with your preferred package manager before running "$now-sdk build".
                Ex: Run "npm install" if using npm.

      アプリケーションはデフォルトのアプリケーション構造でローカルで利用でき、ソースコードでの開発をサポートします。既存のアプリケーションメタデータは、 メタデータ ディレクトリにダウンロードされます。 アプリケーション構造の詳細については、「ソースコードでアプリケーションをビルドする」トピックの「アプリケーションの構造」セクションを参照してください。

    6. お好みのパッケージマネージャーを使用して、必要なサードパーティの依存関係をインストールします。
      たとえば、ノードパッケージマネージャー (npm) を使用する場合は、 npm install を実行します。
    7. オプション: transform コマンドを使用して、既存のアプリケーションメタデータ (XML) をServiceNow Fluentコードに変換します。

      --from パラメーターを使用して、ServiceNow Fluentコードに変換するメタデータ XML を含むローカルディレクトリまたはファイルへのパスを指定します。

      now-sdk transform [--from <path>] [--directory <package path>] [--preview <flag>] [--auth <alias>]
      ヒント:
      --preview パラメーターを true に設定すると、変更を保存せずにコマンドラインから変換されたServiceNow Fluentコードをプレビューできます。
      たとえば、次のようになります。
      now-sdk transform --from metadata/update --auth devuser1
      アプリケーションメタデータは、src/fluent/generated ディレクトリのServiceNow Fluentコードで定義され、指定されたディレクトリから削除されます。
      注:
      メタデータスナップショット [sys_metadata_link] や UX 資産 [sys_ux_lib_asset] など、限られた数のメタデータタイプは、 ServiceNow Fluent コードとして表すことができず、変換されません。これらのメタデータタイプは、アプリケーションの メタデータ ディレクトリにメタデータ XML ファイルとして残ります。
    8. build コマンドを使用してアプリケーションをビルドします。
      now-sdk build
    9. オプション: install コマンドを使用して、インスタンス上のアプリケーションを更新します。
      now-sdk install --auth <alias>

    タスクの結果

    変換されたアプリケーションは、ソースコードでの開発をサポートするために必要なファイルとディレクトリとともにローカルディレクトリに追加されます。アプリケーションが正常にインストールされると、インスタンス上で更新されます。アプリケーションのインストールの詳細については、「 でのアプリケーションのとインストールの展開ServiceNow SDK」を参照してください。 変換されたアプリケーションをインストールすると、カスタムアプリケーションレコード [sys_app] の [ JSON パッケージ ] フィールドにアプリケーションの package.json ファイルへのパスが含まれます。

    アプリケーションの変換後に追加された新しいアプリケーションメタデータは、transform コマンドを使用すると、src/fluent/generated ディレクトリ内のソースコードに自動的に変換されます。メタデータが XML とソースコードの両方としてローカルアプリケーションに存在する場合、インスタンスにインストールされるときに XML バージョンが優先されます。

    次のタスク

    Visual Studio Codeで、ServiceNow Fluent を使用したソースコードでのアプリケーションの開発、カスタム JavaScript モジュールの作成、またはサードパーティライブラリの追加を開始します。 詳細については、「ServiceNow SDK を使用したアプリケーションの開発」を参照してください。