ソースコードでアプリケーションをビルドする
使い慣れた開発ツールとプロセスを使用して、ソースコードでカスタムアプリケーションを作成および開発します。
ソースコードでの開発の概要
アプリケーションは、ServiceNow AI Platform 上の ServiceNow IDE を使用してコードで作成することも、ServiceNow SDKを使用して Visual Studio Code Desktop でローカルに作成することもできます。
どちらの開発環境でも、ドメイン固有のプログラミング言語である ServiceNow Fluent を使用して、アプリケーションを構成するメタデーターを定義します。ServiceNow Fluent には、さまざまなタイプのメタデータを定義するための API が含まれています。
ServiceNow IDE または ServiceNow SDK を使用すると、JavaScript モジュールを作成し、アプリケーションでサードパーティライブラリを使用して、n application スコープ内のスクリプトでのコードの再利用を最適化することもできます。
ソースコードでアプリケーションを開発および管理すると、使い慣れた開発環境での作業、複雑なアプリケーションの作成と変更、ソースコントロールでの容易なコードの管理、ビルド時のエラーのキャッチが可能になります。
|
ServiceNow IDE
|
ServiceNow IDE と ServiceNow 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) パッケージの構造に似たアプリケーション構造を定義します。
デフォルトでは、アプリケーションには次のディレクトリとファイルが含まれます。now.config.json ファイルで、アプリケーション構造の特定の要素をニーズに合わせて変更できます。
| ディレクトリまたはファイル | 説明 |
|---|---|
| .vscode | 推奨される Visual Studio Code 拡張子を含むディレクトリ。 |
| 配付 | パッケージ化用のビルドアーティファクトを含むディレクトリ。このディレクトリには、次のサブディレクトリが含まれています。
|
| metadata |
既存の ServiceNow アプリケーションと同じディレクトリ構造で編成された、テーブルスキーマやビジネスルールなどのアプリケーションのアプリケーションメタデータ (XML) を含むディレクトリ。 注:
アプリケーションメタデータは、XML ファイルから編集しないでください。アプリケーションメタデータは、ソースコードまたは ServiceNow AI Platform で編集します。 |
| node_modules | アプリケーションが依存するサードパーティ Node.js モジュールを含むディレクトリ。 |
| src | アプリケーションのソースコードを含むディレクトリ。このディレクトリには、次のサブディレクトリが含まれています。
|
| ターゲット | インスタンスにアップロードするインストール可能なパッケージ (.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 を使用します。