ServiceNow SDK CLI
ServiceNow SDK コマンドラインインターフェイス (CLI) を使用して、ローカルアプリケーションとインスタンス上のアプリケーション間の変更を管理します。
システムのコマンドラインツールから、「now-sdk」と入力して CLI を起動し、使用可能なコマンドのリストを返すか、「now-sdk [command]」と入力して ServiceNow SDK の使用を開始します。
npx を使用してグローバルではなくアプリケーションに ServiceNow SDK をインストールする場合は、ServiceNow SDK CLI で now-sdk [command] ではなく npx @servicenow/sdk [command] を使用する必要があります。CLI には、次のコマンドとグローバルオプションが含まれています。
| オプション | 説明 |
|---|---|
| --version、-v | CLI のバージョンを返します。 |
| --help、-h | コマンド、サブコマンド、およびパラメーターに関する情報を返します。 |
| --debug、-d | コマンドで生成されたデバッグログを返します。 |
auth
インスタンスに対して認証し、システム上のインスタンスにアクセスするためのユーザー認証情報を保存、更新、または表示します。
auth コマンドには、認証情報の追加、認証情報の削除、認証情報のリスト、およびデフォルトで使用する認証情報の設定を行うためのパラメーターがあります。
詳細については、「を使用した ServiceNow インスタンスへの認証 ServiceNow SDK」を参照してください。
追加
システムのデバイスキーチェーンまたは認証情報マネージャーに認証情報を保存します。
auth コマンドは、--add パラメーターを使用して次の構造を持ちます。npx @servicenow/sdk auth [--add <instance url>] [--type <auth method>] [--alias <alias>]npx コマンドを使用すると、ServiceNow SDKがグローバルではなくアプリケーションディレクトリにインストールされます。| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --add | 文字列 | アクセスし、アプリケーションをインストールするターゲットインスタンスの URL。インスタンスは Washington DC リリース以降である必要があります。 | — |
| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --type | 文字列 | ターゲットインスタンスでの認証に使用する方法。ベーシック認証の場合は basic を、OAuth 2.0 認証の場合は oauth を指定します。 |
basic |
| --alias | 文字列 | インスタンスおよびユーザー認証情報のエイリアス。 エイリアスは、 |
— |
npx @servicenow/sdk auth --add https://myinstance.service-now.com --type oauth --alias devuser1delete
システムのデバイスキーチェーンまたは認証情報マネージャーの認証情報を削除します。
auth コマンドには、--delete パラメーターを使用した次の構造があります。now-sdk auth [--delete <alias or all>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --delete | 文字列 |
インスタンスおよびユーザー認証情報のエイリアス。 すべての認証情報を削除するには、このパラメーターを |
— |
now-sdk auth --delete devuser1リスト
システムのデバイスキーチェーンまたは認証情報マネージャーに保存された認証情報を表示します。パスワード と認証コード は返されません。
auth コマンドには、--list パラメーターを使用した次の構造があります。now-sdk auth [--list]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --list | 文字列 | 利用可能なすべての認証情報をリストします。 | — |
now-sdk auth --list使用
コマンドでデフォルトで使用される認証情報を設定します。
auth コマンドには、--use パラメーターを使用した次の構造があります。now-sdk auth [--use <alias>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --use | 文字列 | インスタンスおよびユーザー認証情報のエイリアス。 | — |
now-sdk auth --use devuser1初期
カスタムのスコープ対象のアプリケーションを作成するか、既存のスコープ対象のアプリケーションを変換して、ソースコードでの開発をサポートします。アプリケーションが現在のディレクトリに追加されます。
デフォルトの認証情報を使用してアプリケーションを作成するには、オプションのパラメーターを指定せずに init コマンドを実行できます。たとえば、 now-sdk init です。既存のアプリケーションを変換するには、 --from パラメーターを含めて、インスタンス上のアプリケーションのsys_id、またはアプリケーションを含むローカルディレクトリへのパスを指定する必要があります。
アプリケーションを初期化した後、アプリケーションをビルドする前に、優先パッケージマネージャーを使用して、必要なサードパーティの依存関係をインストールする必要があります。たとえば、ノードパッケージマネージャー (npm) を使用する場合は、 npm install を実行します。
init コマンドの構造は次のとおりです。npx @servicenow/sdk init [--from <sys_id or path>] [--appName <name>] [--packageName <name>] [--scopeName <name>] [--auth <alias>] [--template <template>]npx コマンドを使用すると、ServiceNow SDKがグローバルではなくアプリケーションディレクトリにインストールされます。| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --from | 文字列 | インスタンス上のアプリケーションのsys_id、またはソースコードでの開発をサポートするために変換するアプリケーションを含むローカルディレクトリへのパス。 アプリケーションを変換すると、 ServiceNow SDK をローカルで使用するために必要なファイルとディレクトリが追加され、アプリケーションメタデータがダウンロードされます。アプリケーションをビルドしてインスタンスにインストールするまで、インスタンス上のアプリケーションは変更されません。変換されたアプリケーションをインストールすると、カスタムアプリケーションレコード [sys_app] の [ JSON のパッケージ化] フィールドに、アプリケーションの package.json ファイルへのパスが含まれます。 |
— |
| --appName | 文字列 | アプリケーションの名前。 | — |
| --packageName | 文字列 | package.jsonファイルで使用されるアプリケーションパッケージの名前。 パッケージ名は、ノードパッケージマネージャー (npm) のパッケージ命名基準に準拠している必要があります。 | — |
| --scopeName | 文字列 | アプリケーションのスコープ。 スコープ名はインスタンス上で一意で、x_<プリフィックス> で始まり、18 文字以下である必要があります。詳細については、「名前空間識別子」を参照してください。 |
— |
| --auth、-a | 文字列 | インスタンスへの認証に使用する認証情報のエイリアス。 | 設定されている場合は、デフォルトのエイリアス。 |
| --template | 文字列 | アプリケーションのデフォルト構造のテンプレート。
|
— |
npx @servicenow/sdk init --from dbce0f6a3b3fda107b45b5d355e45af6 --appName Example App --packageName example-app --scopeName x_snc_example --auth devuser1 --template base詳細については、「を使用してアプリケーションを作成 する ServiceNow SDK」または「でアプリケーションを変換する ServiceNow SDK」を参照してください。
ビルド
ソースファイルをコンパイルし、 、アーティファクトをビルドします。サードパーティライブラリの依存関係は、アプリケーションとともにインストールできる XML ファイルに変換されます。
build コマンドの構造は次のとおりです。now-sdk build <source> [--frozenKeys <flag>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| ソース | 文字列 | アプリケーションの package.json ファイルが含まれているディレクトリへのパス。 package.json は、アプリケーションのベースディレクトリに存在する必要があります。 |
現在の作業ディレクトリ |
| --frozenKeys | ブール | 継続的インテグレーション (CI) ビルドの keys.ts ファイルが最新であることを検証するオプション。true で、アプリケーションの ServiceNow Fluent コードが変更された場合、 keys.ts ファイルは更新されず、ビルドは失敗します。 keys.tsファイルは、src/fluent/generated ディレクトリに自動的に生成されます。 |
false |
now-sdk build /path/to/package --frozenKeys true詳細については、「でのアプリケーションのとインストールの展開ServiceNow SDK」を参照してください。
インストール
ビルドアーティファクトをパッケージ化し、インスタンスにアプリケーションします。install コマンドを使用する前に、build コマンドを使用してインストール可能なパッケージを生成する必要があります。
install コマンドの構造は次のとおりです。
now-sdk install [--source <package path>] [--reinstall <flag>] [--auth <alias>] [--open-browser <flag>] [--info <flag>]
| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --source | 文字列 | アプリケーションの package.json ファイルが含まれているディレクトリへのパス。 package.json は、アプリケーションのベースディレクトリに存在する必要があります。 |
現在の作業ディレクトリ |
| --reinstall、-r | ブール | インスタンス上のアプリケーションをアンインストールして再インストールし、インスタンス上のメタデータがインストールパッケージ内のメタデータと一致するようにするオプション。 警告: インスタンスにはあるがローカルアプリケーションにはないメタデータは削除されます。 EcmaScript モジュールの [sys_module] テーブルに不要となった以前のバージョンのモジュールがある場合、アプリケーションを再インストールすると、以前のバージョンのアプリケーションのモジュールがテーブルから削除されます。 |
false |
| --auth、-a | 文字列 | インスタンスへの認証に使用する認証情報のエイリアス。 注: CI/CD パイプラインの場合、次の環境変数を設定して、ベーシック認証を使用して実行時にインスタンスで認証できます。
|
設定されている場合は、デフォルトのエイリアス。 |
| --open-browser、-b | ブール | アプリケーションを正常にインストールした後に、デフォルトのブラウザーでアプリケーションレコードを開くオプション。 | false |
| --info、-i | ブール | ステータスや更新されたレコードなど、このアプリケーションの最新のインストールに関する詳細を返すオプション。このパラメーターを使用すると、アプリケーションはインストールされません。 | false |
now-sdk install --source /path/to/package --reinstall false --auth devuser1 --open-browser true --info true詳細については、「でのアプリケーションのとインストールの展開ServiceNow SDK」を参照してください。
依存関係
インスタンスからアプリケーションの依存関係と TypeScript 定義をダウンロードして、アプリケーションの IntelliSens とコード検証を有効にします。
dependencies コマンドは、スクリプトとServiceNow Fluentコードの依存関係と TypeScript 定義をダウンロードします。
- スクリプトの場合、このコマンドはすべての Glide API の TypeScript 定義をダウンロードし、アプリケーションのモジュールとスクリプトをスキャンして、使用するスクリプトインクルードのタイプ定義を生成します。タイプ定義は @types/servicenow ディレクトリに追加されます。スクリプトの依存関係をダウンロードした後、 tsconfig.json ファイルを更新して型定義を含める必要があります。
- ServiceNow Fluentの場合、このコマンドはアプリケーションのnow.config.jsonファイルにリストされている依存関係をダウンロードし、それらの TypeScript 定義を @types/servicenow/fluent ディレクトリに生成します。
アプリケーションのすべてのスクリプトと ServiceNow Fluent 依存関係をダウンロードするには、パラメーターなしで dependencies コマンドを使用できます。必要に応じて、アプリケーションディレクトリと認証エイリアスも指定します。
dependencies コマンドの構造は次のとおりです。
now-sdk dependencies [--directory <package path>] [--auth <alias>][--type-defs-only <flag>] [--fluent-only <flag>] [--add <table> <sys_ids or names>] [--scope <name>]
| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --directory | 文字列 | アプリケーションの package.json ファイルが含まれているディレクトリへのパス。 package.json は、アプリケーションのベースディレクトリに存在する必要があります。 |
現在の作業ディレクトリ |
| --auth、-a | 文字列 | インスタンスへの認証に使用する認証情報のエイリアス。 | 設定されている場合は、デフォルトのエイリアス。 |
| --type-defs-only | ブール | スクリプトの依存関係のみの TypeScript 定義をダウンロードするオプション。 スクリプトタイプは @types/servicenow ディレクトリにダウンロードされます。 |
false |
| --fluent-only | ブール | 他のアプリケーションスコープから ServiceNow Fluent 依存関係のみの依存関係と TypeScript 定義をダウンロードするオプション。アプリケーションの依存関係をその now.config.json ファイルにリストする必要があります。 ServiceNow Fluent タイプは @types/servicenow/fluent ディレクトリに生成されます。 |
false |
| --add | 文字列 | ダウンロードする依存関係をアプリケーションの now.config.json ファイルに追加します。テーブル名を使用して、追加する依存関係のタイプを指定し、追加する各アイテムの名前またはsys_idsをスペースで区切って指定する必要があります。
指定したテーブルとスコープのすべてのアイテムを追加するには、ワイルドカード ( *) を使用します。たとえば、次のようになります。 |
— |
| sysIds | アレイ | TypeScript 定義をダウンロードして生成する依存関係のsys_idsのリスト。このパラメーターは、 --add パラメーターを使用する場合にのみ適用されます。 |
— |
| --scope | 文字列 | 依存関係のダウンロード元のアプリケーションスコープ。このパラメーターは、 --add パラメーターを使用する場合に必要です。 |
— |
now-sdk dependencies --directory /path/to/package --auth devuser1 --add sys_ui_view fa776f6d97700100f309124eda2975bc --scope global詳細については、「を使用した依存関係のダウンロード ServiceNow SDK」を参照してください。
変換
インスタンスからアプリケーションメタデータ (XML) をダウンロードし、メタデータをソースコードに変換して ServiceNow Fluent インスタンスでのアプリケーションの変更をローカルアプリケーションに同期します。
アプリケーションを初期化した後、パラメーターを指定せずに transform コマンドを実行して、インスタンスの新しいアプリケーションメタデータを src/fluent/generated ディレクトリのソースコードに変換し、メタデータへの変更を src/fluent ディレクトリのソースコードに同期できます。アプリケーションの初期化時に存在していたメタデータをソースコードに変換するには、 --from パラメーターを使用して、XML を含むローカルディレクトリまたはファイルへのパスを指定します。メタデータが XML とソースコードの両方としてローカルアプリケーションに存在する場合、インスタンスにインストールされるときに XML バージョンが優先されます。
変換コマンドの構造は次のとおりです。now-sdk transform [--from <path>] [--directory <package path>] [--preview <flag>] [--auth <alias>] [--format <flag>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --from | 文字列 | ServiceNow Fluentコードに変換するメタデータ XML を含むローカルディレクトリまたはファイルへのパス。 | — |
| --directory | 文字列 | アプリケーションの package.json ファイルが含まれているディレクトリへのパス。 package.json は、アプリケーションのベースディレクトリに存在する必要があります。 |
現在の作業ディレクトリ |
| --preview | ブール | 変更を保存せずにコマンドラインから変換された ServiceNow Fluent コードをプレビューするオプション。 | false |
| --auth、-a | 文字列 | インスタンスへの認証に使用する認証情報のエイリアス。 | 設定されている場合は、デフォルトのエイリアス。 |
| --format、 -f | ブール | 変換時に新規および更新された ServiceNow Fluent ソースコードをフォーマットするオプション。 | true |
now-sdk transform --from metadata/update --directory /path/to/package --preview true --auth devuser1 --format true詳細については、「でアプリケーションを変換する ServiceNow SDK」または「でのアプリケーションのとインストールの展開ServiceNow SDK」を参照してください。
ダウンロード
インスタンス上のアプリケーションからすべてのアプリケーションメタデータ (XML) をダウンロードして、ローカルアプリケーションのメタデータと比較します。
インスタンスからアプリケーションメタデータをダウンロードするときに、JavaScript モジュールの更新は含まれません。
ダウンロードコマンドの構造は次のとおりです。now-sdk download <directory> [--source <package path>] [--incremental <flag>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| ディレクトリ | 文字列 | メタデータをダウンロードするディレクトリへのパス。 注: このディレクトリは、アプリケーションの メタデータ ディレクトリとは異なるディレクトリである必要があります。 |
— |
| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --source | 文字列 | アプリケーションの package.json ファイルが含まれているディレクトリへのパス。 package.json は、アプリケーションのベースディレクトリに存在する必要があります。 |
現在の作業ディレクトリ |
| --incremental | ブール | インスタンスで行われ、カスタマーアップデート [sys_update_xml] テーブルに記録されているアプリケーションメタデータへの変更のみをダウンロードするオプション。 | false |
now-sdk download /path/to/directory --source /path/to/package --incremental trueクリーン
前のビルドで出力されたビルドアーティファクトを削除します。
clean コマンドの構造は次のとおりです。now-sdk clean <source>| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| ソース | 文字列 | アプリケーションの package.json ファイルが含まれているディレクトリへのパス。 package.json は、アプリケーションのベースディレクトリに存在する必要があります。 |
現在の作業ディレクトリ |
now-sdk clean /path/to/packageパック
以前のビルドで出力されたビルドアーティファクトを、インストール可能な ZIP ファイルにパッケージ化します。
pack コマンドの構造は次のとおりです。now-sdk pack <source>| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| ソース | 文字列 | アプリケーションの package.json ファイルが含まれているディレクトリへのパス。 package.json は、アプリケーションのベースディレクトリに存在する必要があります。 |
現在の作業ディレクトリ |
now-sdk pack /path/to/package