ソースコードでアプリケーションをビルドする

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:7分
  • 使い慣れた開発ツールとプロセスを使用して、ソースコードでカスタムアプリケーションを作成および開発します。

    ソースコードでの開発の概要

    アプリケーションは、ServiceNow AI Platform 上の ServiceNow IDE を使用してコードで作成することも、ServiceNow SDKを使用して Visual Studio Code Desktop でローカルに作成することもできます。

    どちらの開発環境でも、ドメイン固有のプログラミング言語である ServiceNow Fluent を使用して、アプリケーションを構成するメタデーターを定義します。ServiceNow Fluent には、さまざまなタイプのメタデータを定義するための API が含まれています。

    ServiceNow IDE または ServiceNow SDK を使用すると、JavaScript モジュールを作成し、アプリケーションでサードパーティライブラリを使用して、n application スコープ内のスクリプトでのコードの再利用を最適化することもできます。

    ソースコードでアプリケーションを開発および管理すると、使い慣れた開発環境での作業、複雑なアプリケーションの作成と変更、ソースコントロールでの容易なコードの管理、ビルド時のエラーのキャッチが可能になります。

    ServiceNow IDEServiceNow SDK の比較

    機能 ServiceNow IDE ServiceNow SDK
    開発環境 オンライン ServiceNow インスタンス ローカル開発とオフライン作業能力
    ユーザーインターフェイス Visual Studio Code for the Web ベースの IDE Visual Studio Code デスクトップ
    コラボレーション コードまたは埋め込み ServiceNow AI Platform ユーザーインターフェイスでユーザーの変更をリアルタイムで表示します。

    ソースコントロール内のアプリケーションで他の開発者と共同作業を行います。

    インスタンスから変更をダウンロードし、 ServiceNow SDK CLI を使用してインスタンスにローカル変更をインストールし、他のユーザーとコラボレーションします。

    ソースコントロール内のアプリケーションで他の開発者と共同作業を行います。

    ソースコントロール 最も一般的な Git 機能と、選択した Git プロバイダーとの統合をサポートします。

    インスタンス (または開発者サンドボックス) ごとに、リポジトリごとに 1 つの同時分岐。

    フルサポート
    アプリケーションの変換 ServiceNow IDE または ServiceNow SDK で作成されていない既存のアプリケーションの変換をサポートします。 ではサポートされていません。 ServiceNow IDE または ServiceNow SDK で作成されていない既存のアプリケーションの変換をサポートします。
    ServiceNow Fluent フルサポート

    ServiceNow Fluent言語サーバーはServiceNow IDEに含まれています。

    フルサポート

    ServiceNow Fluent Language サーバーは、Visual Studio Code Extension Marketplace からインストールできます。

    JavaScript モジュールとサードパーティライブラリ フルサポート フルサポート
    コード向け Now Assist スクリプトのコードのオートコンプリートのサポート。

    アクティブ化の詳細については、「 Now Assist for Code」を参照してください。

    サポート対象外
    ビルドエージェント フルサポート。 ビルドエージェント には、 ServiceNow IDEのチャットパネルからアクセスします。

    アクティブ化の詳細については、「 ビルドエージェント」を参照してください。

    サポート対象外

    アプリケーションの構造

    ServiceNow IDE または ServiceNow SDK で作成または変換変換アプリケーションには、ソースコードファイルとメタデータ XML ファイルが含まれます。package.json ファイルと now.config.json ファイルは、Node.js アプリケーションまたは Node Package Manager (npm) パッケージの構造に似たアプリケーション構造を定義します。

    図 : 1. ServiceNow IDE で作成されたアプリケーションのデフォルトの構造
    ServiceNow IDEで作成されたアプリケーションの構造

    デフォルトでは、アプリケーションには次のディレクトリとファイルが含まれます。now.config.json ファイルで、アプリケーション構造の特定の要素をニーズに合わせて変更できます。

    表 : 1. ソースコード内のアプリケーション構造
    ディレクトリまたはファイル 説明
    .vscode 推奨される Visual Studio Code 拡張子を含むディレクトリ。
    配付 パッケージ化用のビルドアーティファクトを含むディレクトリ。このディレクトリには、次のサブディレクトリが含まれています。
    • app:ビルドされたメタデータ XML ファイルを含むディレクトリ。
    • static:ビルドされた静的アセットファイルを含むディレクトリ。
    metadata

    既存の ServiceNow アプリケーションと同じディレクトリ構造で編成された、テーブルスキーマやビジネスルールなどのアプリケーションのアプリケーションメタデータ (XML) を含むディレクトリ。

    注:
    アプリケーションメタデータは、XML ファイルから編集しないでください。アプリケーションメタデータは、ソースコードまたは ServiceNow AI Platform で編集します。
    node_modules アプリケーションが依存するサードパーティ Node.js モジュールを含むディレクトリ。
    src アプリケーションのソースコードを含むディレクトリ。このディレクトリには、次のサブディレクトリが含まれています。
    • client:ユーザーインターフェイスを開発するためのクライアント側ファイルを含むディレクトリ。
    • fluent:.now.tsファイル内のServiceNow Fluentコードを含むディレクトリ。generated サブディレクトリには、ServiceNow Fluent に変換されたアプリケーションファイルが含まれます。
    • server.js または .ts ファイルに JaveScript モジュールコードが含まれているディレクトリ。
    ターゲット インスタンスにアップロードするインストール可能なパッケージ (.zip ファイル) を含むディレクトリ。
    .eslintrc ESLint 構成を含むファイル。ESLint は、アプリケーションコードの問題を特定して修正するのに役立ちます。
    .gitignore Git が無視するディレクトリまたはファイルのリストを含むファイル。これらのファイルはソースコントロールで追跡されません。
    now.config.json ServiceNow アプリケーション構成を含むファイル。package.json ファイルは、アプリケーションのベースディレクトリに存在する必要があります。サポートパラメーターを追加することで、アプリケーションの側面を構成できます。詳細については、「ソースコードでのカスタムアプリケーション構成」を参照してください。
    now.prebuild.mjs 依存関係とそのバージョンに関する完全な情報を含む自動更新ファイル。このファイルは、ServiceNow SDK でのみ使用できます。
    package-lock.json 依存関係とそのバージョンに関する完全な情報を含む自動更新ファイル。このファイルは、ServiceNow SDK でのみ使用できます。
    package.json アプリケーションとカスタムまたはサードパーティのモジュールの依存関係に関する情報を含むファイル。package.json ファイルは、アプリケーションのベースディレクトリに存在する必要があります。インスタンスでは、package.json パスはカスタムアプリケーションレコード (sys_app) の [JSON のパッケージ化] フィールドで <scope>/<package-name>/<version>/package.json の形式で指定されます。

    関連アプリケーションと機能

    JavaScript API
    アプリケーションの機能を変更したり、アプリケーションを作成したりする場合に記述するスクリプトで JavaScript API を使用します。