ServiceNow Sdk
ServiceNow®ソフトウェア開発キット (SDK) を使用して、JavaScript モジュールとサードパーティ製ライブラリをアプリケーションにローカルに追加し、変更を Now Platformのインスタンスにアップロードします。
ServiceNow SDK の概要
ServiceNow SDK を使用すると、開発者はカスタムモジュールとサードパーティライブラリVisual Studio Codeを含むスコープ対象のアプリケーションを作成および変更し、それらのアプリケーションをリリースのWashington DC非本番インスタンスに展開できます。インスタンスの外部でアプリケーションを作成すること ServiceNow で ServiceNow 、業界標準の開発手法と使い慣れたツールを使用して、実行時のみではなく構築時にエラーを捕捉できます。
SDK で作成または変換されたアプリケーションには、ソース コード ファイルと、アプリケーションのデータベース レコードから生成されたメタデータ XML ファイルが含まれます。package.json ファイルは、Node.js アプリケーションまたはノード パッケージ マネージャー (npm) パッケージと同様のアプリケーション構造を定義します。
SDK には、インスタンスとローカルアプリケーション間の変更を管理するためのコマンドラインインターフェイス (CLI) が含まれています。シンプルな CLI コマンドを使用して、アプリケーションを作成、変換、ビルド、デプロイ、およびフェッチできます。
ServiceNow SDK ワークフロー
- admin ロールを持つ開発者が SDK をインストールします。
- 開発者は CLI を使用して、
now-sdk authコマンドを使用してローカル環境とインスタンス間のインターフェイスとなる非本番インスタンスに対して認証を行います。 - 開発者は、スコープ対象のアプリケーションを作成する (now-sdk create) か、インスタンスから既存のスコープ対象のアプリケーションを SDK で使用するために変換します (
now-sdk convert)。 - では Visual Studio Code、開発者はカスタム JavaScript モジュールを作成し、サードパーティのライブラリを追加します。
- 開発者はアプリケーションを構築します。このアプリケーションは、ソースコードをコンパイルしてインスタンスのデータベースメタデータに変換し、展開可能パッケージ (
now-sdk build) を生成します。 - 開発者がアプリケーションをインスタンスにデプロイします (
now-sdk deploy)。 - 他のユーザーはインスタンスのアプリケーション メタデータを引き続き変更でき、開発者は SDK を使用して他のモジュールまたはスクリプトのモジュールのコードを再利用できます。
- 開発者は、インスタンス上のアプリケーションをフェッチして、アプリケーションメタデータの最新の更新をローカルで取得します (
now-sdk fetch)。
ServiceNow SDK の利点
| メリット | 機能 | ユーザー |
|---|---|---|
| カスタム JavaScript モジュールを記述して、スコープ対象のアプリケーション間でコードを整理して再利用します。 | 開発者 | |
| 既存のサードパーティ JavaScript ユーティリティを活用して、既存のオープンソース機能を書き換えないようにします。 | ||
| 生産性、効率性、最適化の向上により、アプリケーションの価値実現までの時間を短縮します。 | ||
| TypeScript、タイプ セーフ、Intellisense、依存関係の適用など、業界標準の JavaScript 機能を備えた使い慣れた開発ツールを使用します。 | SDK での ServiceNow TypeScript の使用 |
アプリケーション構造
SDK で作成されたアプリケーションには、次のディレクトリとファイルが含まれます。
- 。メタデータ
-
既存の ServiceNow アプリケーションと同じディレクトリ構造で編成された、テーブルスキーマやビジネスルールなどのアプリケーションのメタデータ XML ファイルを含むディレクトリ。
このディレクトリには、デフォルトでサンプルビジネスルール (sys_script_<sysID>.xml) と、指定されている場合はサンプルテーブル (<scope>_to_do.xml) が含まれています。
注:アプリケーションメタデータは、ローカルではなくインスタンスで編集する必要があります。 - 。今
- ビルドプロセスと展開プロセスのキャッシュと測定基準の情報を含むディレクトリ。
- ディストリクト
- パッケージ化用のビルドアーティファクトを格納するディレクトリ。
- node_modules
- アプリケーションが依存するサードパーティ Node.js モジュールを含むディレクトリ。このディレクトリは、パッケージが npm と共にインストールされるときに追加されます。
- Src
- myfunction.js という名前のサンプルモジュールを含むモジュールコード (JavaScript または TypeScript ファイル) を含むディレクトリ。
- target
- インスタンスにアップロードする展開可能パッケージを含むディレクトリ。
- .eslintrc.json
- ESLint 構成を含むファイル。ESLintは、アプリケーションコードの問題を特定して修正するのに役立ちます。
- package.json
-
アプリケーション、構成、 ServiceNow カスタムモジュールまたはサードパーティモジュールの依存関係に関する情報を含むファイル。package.json ファイルは、アプリケーションのベースディレクトリに存在する必要があります。
package.json ファイルでは、ServiceNowアプリケーション構成は
nowオブジェクトで定義されます。"now": { "scope": "x_snc_example_app", "scopeId": "2f8400eb07426110f736e28f69d3017a", "moduleDir": "src" }次のパラメーターを使用して、 package.json ファイル内のアプリケーションのディレクトリ構造を構成できます。- モジュールディレクトリ
- モジュールコード (JavaScript または TypeScript ファイル) を含むディレクトリ。デフォルト値は src です。
- metadataDir
- アプリケーションのメタデータを XML ファイルとして格納するディレクトリ。デフォルト値は .metadata です。
- compileOutputDir
- アプリケーションの構築時にパッケージ化するためにビルドアーティファクトを出力するディレクトリ。デフォルト値は dist/app です。
- cpackOutputDir
- アプリケーションの構築時にインスタンスにアップロードする zip ファイルを出力するディレクトリ。デフォルト値は [ターゲット] です。