ServiceNow SDK CLI
ServiceNow SDK コマンドラインインターフェイス (CLI) を使用して、ローカルアプリケーションとインスタンス上のアプリケーション間の変更を管理します。
システムのコマンドラインツールから、「now-sdk」と入力して CLI を起動し、使用可能なコマンドのリストを返すか、「now-sdk [command]」と入力して ServiceNow SDK の使用を開始します。
CLI には、次のコマンドとグローバルオプションが含まれています。
| オプション | 説明 |
|---|---|
| --version | CLI のバージョンを返します。 |
| --help、-h | コマンド、サブコマンド、パラメーターに関する情報を返します。 |
| --debug、-d | コマンドで生成されたデバッグログを返します。 |
アップグレード
Yokohama リリースのインスタンスで使用するには、最新バージョンの ServiceNow SDK にアップグレードします。
ServiceNow SDK をアップグレードしても、以前 ServiceNow SDK で作成または変換したアプリケーションは更新されません。
upgrade コマンドの構造は次のとおりです。now-sdk upgrade [--debug <flag>]now-sdk upgrade --debug trueauth
インスタンスに対して認証し、システム上のインスタンスにアクセスするためのユーザー認証情報を保存、更新、または表示します。
auth コマンドには 、認証情報の追加、認証情報の削除、認証情報のリスト表示、およびデフォルトで使用する認証情報の設定を行うためのパラメーターがあります。
追加
システムのデバイスキーチェーンまたは認証情報マネージャーに認証情報を保存します。
auth コマンドは、--add パラメーターを持つ次の構造を持ちます。now-sdk auth [--add <instance url>] [--type <auth method>] [--alias <alias>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --足す | 文字列 | 認証情報を保存するインスタンス名または URL。 |
| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --種類 | 文字列 | 新しい認証情報に使用する認証のタイプ [選択肢:「basic」、「oauth」] | |
| --別名 | 文字列 | ホストおよびユーザーの認証情報の一意の識別子。 エイリアスは、 |
— |
now-sdk auth --add https://myinstance.service-now.com --type oauth --alias devuser1削除
システムのデバイスキーチェーンまたは認証情報マネージャーの認証情報を削除します。
auth コマンドは、--delete パラメーターを持つ次の構造を持ちます。now-sdk auth [--delete <alias>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --削除 | 文字列 | ホストおよびユーザーの認証情報の一意の識別子。 | — |
now-sdk auth --delete devuser1リスト
システムのデバイスキーチェーンまたは認証情報マネージャーに保存された認証情報を表示します。パスワード と認証コードは 返されません。
auth コマンドは、--list パラメーターを持つ次の構造を持ちます。now-sdk auth [--list]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --リスト | 文字列 | 利用可能なすべての認証情報をリストします | — |
now-sdk auth --list使用
コマンドでデフォルトで使用される認証情報を設定します。
auth コマンドは、--use パラメーターを持つ次の構造を持ちます。now-sdk auth [--use <alias>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --使う | 文字列 | ホストおよびユーザーの認証情報の一意の識別子。 | — |
now-sdk auth --use devuser1作成を開始
カスタムスコープ対象のアプリケーションを作成するか、インスタンスまたはローカルディレクトリーから既存のスコープ対象のアプリケーションを変換して、ソースコードでの開発をサポートします。アプリケーションが現在のディレクトリに追加されます。
init コマンドの構造は次のとおりです。now-sdk init [--from <sysID or path>] [--appName <name>] [--packageName <name>] [--scopeName <name>] [--auth <alias>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --差出人 | 文字列 | インスタンス上のアプリケーションのsys_id、またはソースコードでの開発をサポートするために変換するアプリケーションを含むディレクトリへのパス。 アプリケーションを変換すると、ServiceNow SDK をローカルで使用するために必要なファイルとディレクトリが追加され、プロジェクトの種類に応じて、アプリケーションメタデータが ServiceNow Fluent ソースコードまたは XML ファイルとしてダウンロードされます。アプリケーションをビルドしてインスタンスに展開するまで、インスタンス上のアプリケーションは変更されません。変換されたアプリケーションを展開すると、カスタムアプリケーションレコード [sys_app] の [JSON をパッケージ化 ] フィールドに、アプリケーションの package.json ファイルへのパスが含まれます。 |
— |
| --appName | 文字列 | アプリケーションの名前。 このパラメーターは、 |
— |
| --packageName | 文字列 | package.json ファイルで使用されるアプリケーションパッケージの名前。パッケージ名は、NPM パッケージの命名基準に準拠している必要があります。 | — |
| scopeName | 文字列 | アプリケーションのスコープ。 スコープ名はインスタンス上で一意で、x_<prefix> で始まり、18 文字以下である必要があります。詳細については、「名前空間識別子」を参照してください。 このパラメーターは、 |
— |
| --auth、-a | 文字列 | インスタンスへの認証に使用する認証情報のエイリアス。 | 設定されている場合は、デフォルトのエイリアス。 |
now-sdk init --from dbce0f6a3b3fda107b45b5d355e45af6 --appName Example App --packageName example-app --scopeName x_snc_example --auth devuser1変換
アプリケーションメタデータ (XML) を更新セットまたはローカルディレクトリから ServiceNow Fluent ソースコードに変換します。
transform コマンドの構造は次のとおりです。now-sdk transform [--from <sys_id or path>] [--source <package path>] [--preview <flag>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --差出人 | 文字列 | インスタンス上の更新セットのsys_id、または ServiceNow Fluent コードに変換するメタデータ XML を含むディレクトリまたはファイルへのパス。 | — |
| --source | 文字列 | アプリケーションの package.json ファイルへのパス。 package.json は、アプリケーションのベースディレクトリに存在する必要があります。 |
現在の作業ディレクトリ |
| --プレビュー | ブール | 変更を保存せずに、コマンドラインから変換された ServiceNow Fluent コードをプレビューします。 | false |
例:
now-sdk transform --from metadata/update --source /path/to/package --preview true
convert
インスタンスから既存のアプリケーションを変換して、Visual Studio Code でのローカル変更、および ServiceNow SDK でのアプリケーション変更のインスタンスへの展開をサポートします。
アプリケーションを変換すると、ServiceNow SDK をローカルで使用するために必要なファイルとディレクトリが追加され、プロジェクトの種類に応じて、アプリケーションメタデータが ServiceNow Fluent ソースコードまたは XML ファイルとしてダウンロードされます。アプリケーションをビルドしてインスタンスに展開するまで、インスタンス上のアプリケーションは変更されません。変換されたアプリケーションを展開すると、カスタムアプリケーションレコード [sys_app] の [JSON をパッケージ化 ] フィールドに、アプリケーションの package.json ファイルへのパスが含まれます。
convert コマンドの構造は次のとおりです。now-sdk convert <scopeName> <packageName> [<directory>] [--auth <alias>] [--projectType <type>] [--template <type>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| scopeName | 文字列 | 既存アプリケーションのスコープ。 | — |
| packageName | 文字列 | package.json ファイルで使用されるアプリケーションパッケージの名前。 パッケージ名は、NPM パッケージの命名基準に準拠している必要があります。 |
— |
| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| ディレクトリ | 文字列 | アプリケーションのディレクトリとファイルを作成するローカルディレクトリ。 | 現在の作業ディレクトリ |
| --auth、-a | 文字列 | インスタンスへの認証に使用する認証情報のエイリアス。 | 設定されている場合は、デフォルトのエイリアス。 |
| --projectType | 文字列 | アプリケーションのタイプ。アプリケーションファイルのダウンロード方法とデフォルトのアプリケーション構成を決定します。
|
モジュールの |
| --template、-t | 文字列 | モジュールで JavaScript と TypeScript のどちらを使用するかを指定するオプション。このオプションは、 package.json ファイルと now.config.json ファイルの構成を決定し、TypeScript プロジェクトの tsconfig.json ファイルを追加します。
|
javascript |
例:
now-sdk convert x_snc_example example-app /path/to/app_folder --auth user1-dev --projectType fluent --template typescript
fetch
インスタンスからアプリケーションメタデータをダウンロードし、それに合わせてローカルアプリケーションのメタデータ XML ファイルを更新します。
インスタンスからアプリケーションメタデータをフェッチする際に、JavaScript モジュールの更新は含まれません。
fetch コマンドの構造は次のとおりです。now-sdk fetch [--directory <package path>] [--auth <alias>]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --directory | 文字列 | アプリケーションへのパス。 | 現在の作業ディレクトリ |
| --auth、-a | 文字列 | インスタンスへの認証に使用する認証情報のエイリアス。 | 設定されている場合は、デフォルトのエイリアス。 |
now-sdk fetch --auth devuser1 --directory /path/to/packagedependencies
Glide API の TypeScript タイプ定義やスクリプトインクルードなど、スクリプトの依存関係をインスタンスからダウンロードします。
アプリケーションにスクリプトの依存関係を含めると、Glide API とスクリプトインクルードの先行入力サポートが追加されます。型定義は @types/@servicenow ディレクトリにダウンロードされます。
dependencies コマンドの構造は次のとおりです。
now-sdk dependencies [--directory <package path>] [--auth <alias>]
"include": [
"src/server/**/*.ts",
"./@types/servicenow/glide.server.d.ts",
"./@types/servicenow/script-includes.server.d.ts"
]| パラメーター | タイプ | 説明 | デフォルト値 |
|---|---|---|---|
| --directory | 文字列 | アプリケーションの package.json ファイルへのパス。 package.json は、アプリケーションのベースディレクトリに存在する必要があります。 |
現在の作業ディレクトリ |
| --auth、-a | 文字列 | インスタンスへの認証に使用する認証情報のエイリアス。 | 設定されている場合は、デフォルトのエイリアス。 |
now-sdk dependencies --directory /path/to/package --auth devuser1ビルド
ソースファイルをコンパイルし、インストール可能なパッケージを生成します。サードパーティライブラリの依存関係は、アプリケーションとともにインストールできる 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インストール
インスタンスでアプリケーションをインストールまたは更新します。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] テーブルに不要になった以前のバージョンのモジュールがある場合、reinstall パラメーター ( |
false |
| --auth、-a | 文字列 | インスタンスへの認証に使用する認証情報のエイリアス。 | 設定されている場合は、デフォルトのエイリアス。 |
| --open-browser、-b | ブール | アプリケーションを正常にインストールした後に、デフォルトのブラウザーでアプリケーションレコードを開くオプション。 | false |
| --info、-i | ブール | 更新されたステータスやレコードなど、このアプリケーションの最新のインストールに関する詳細を返すオプション。このパラメーターを使用すると、アプリケーションはインストールされません。 | false |
now-sdk install --source /path/to/package --reinstall false --auth devuser1 --open-browser true --info true