tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Salesforce CLI コマンドを試してみました - Part 10

Part 10です。『package Commands』から続きです。

Salesforce Developers

package Commands

ロック解除されたパッケージおよび管理された 2GP パッケージを開発およびインストールするためのコマンドです。
(未管理パッケージ、管理パッケージの開発で使用するコマンド。)

package create

パッケージを作成するコマンド。

// 「force-app」ディレクトリ内のファイルからロック解除されたパッケージを作成します。デフォルトの Dev Hub 組織を使用します。
sf package create --name MyUnlockedPackage --package-type Unlocked --path force-app

// 「force-app」ディレクトリ ファイルから管理パッケージを作成し、パッケージに説明を付けて、指定された Dev Hub 組織を使用します。
sf package create --name MyManagedPackage --description "Your Package Descripton" --package-type Managed --path force-app --target-dev-hub devhub@example.com


実行するにはDevHub組織を設定する必要があるようです。


DevHub組織の設定は「config set」コマンドで指定します。

sf config set target-dev-hub=sfdc-my-playground


準備ができたら次のコマンドでパッケージ作成を実行。

sf package create --name MyUnlockedPackage --package-type Unlocked --path force-app -v sfdc-my-playground


実行したところ次のエラーが発生しました。他にも必要な設定があるみたいです。

Error (1): The requested resource does not exist

package delete

パッケージを削除するコマンドです。

// デフォルトの Dev Hub 組織からエイリアスを使用してパッケージを削除します。
sf package delete --package "Your Package Alias"

// ID を使用して、指定された Dev Hub 組織からパッケージを削除します。
sf package delete --package 0Ho... --target-dev-hub devhub@example.com

package install

パッケージのインストールコマンドです。

// 指定された ID のパッケージ バージョンをユーザー名「me@example.com」の組織にインストールします。
sf package install --package 04t... --target-org me@example.com

// 指定したエイリアスを持つパッケージ バージョンをデフォルト組織にインストールします。
sf package install --package awesome_package_alias

// スペースを含むエイリアスを持つパッケージ バージョンをデフォルト組織にインストールします。
sf package install --package "Awesome Package Alias"

// 指定された ID を持つロック解除されたパッケージ バージョンをインストールし、削除されたすべてのコンポーネントを非推奨にします。
sf package install --package 04t... --upgrade-type DeprecateOnly

package install report

パッケージのインストール要求のステータスを取得します。インストール実行後に処理の状況をチェックするという感じだと思います。

// デフォルト組織で指定された ID を使用してパッケージインストールリクエストのステータスを取得します。
sf package install report --request-id 0Hf...

// ユーザー名 me@example.com の組織を使用する点が異なります。
sf package install report --request-id 0Hf... --target-org me@example.com

package installed list

組織にインストールされているパッケージを一覧表示します。

// デフォルト組織にインストールされているパッケージを一覧表示します。
sf package installed list

// ユーザー名が me@example.com の組織にインストールされているパッケージを一覧表示します。
sf package installed list --target-org me@example.com

これはパッケージ開発をしていなくても使えるコマンドでした。現在インストールしているパッケージを確認したい。バージョンを知りたいというときに役立ちそうです。


package list

Dev Hub 組織内のすべてのパッケージを一覧表示します。

// 指定された Dev Hub 組織内のすべてのパッケージを一覧表示します。
sf package list --target-dev-hub devhub@example.com

// 指定した Dev Hub 組織内のすべてのパッケージの詳細を一覧表示し、各パッケージの拡張詳細を表示します。
sf package list --target-dev-hub devhub@example.com --verbose

package uninstall

第 2 世代のパッケージを対象組織からアンインストールします。

// 指定された ID を持つパッケージをユーザー名 me@example.com の組織からアンインストールします。
sf package uninstall --package 04t... --target-org me@example.com

// 指定されたエイリアスを持つパッケージをデフォルト組織からアンインストールします。
sf package uninstall --package undesirable_package_alias

// スペースを含むエイリアスを持つパッケージをデフォルト組織からアンインストールします。
sf package uninstall --package "Undesirable Package Alias"

package uninstall report

パッケージのアンインストール要求のステータスを取得します。

// 指定されたリクエスト ID を使用して、デフォルト組織でのパッケージのアンインストールのステータスを取得します。
sf package uninstall report --request-id 06y...

// ユーザー名 me@example.com の組織を使用します。
sf package uninstall report --request-id 06y... --target-org me@example.com

package update

パッケージの詳細を更新します。

// 指定されたエイリアスを使用してパッケージの名前を更新します。デフォルトの Dev Hub 組織を使用します。
sf package update --package "Your Package Alias" --name "New Package Name"

// 指定された ID でパッケージの説明を更新します。指定された Dev Hub 組織を使用します。
sf package update --package 0Ho... --description "New Package Description" --target-dev-hub devhub@example.com

package version create

Dev Hub 組織でパッケージ バージョンを作成します。

// 「common」ディレクトリの内容からパッケージ バージョンを作成し、それに「password123」のインストール キーを与えます。デフォルトの Dev Hub 組織を使用します。
sf package version create --path common --installation-key password123

// 指定された別名を持つパッケージからパッケージ バージョンを作成します。ユーザー名 devhub@example.com の Dev Hub 組織を使用します。
sf package version create --package "Your Package Alias" --installation-key password123 --target-dev-hub devhub@example.com

// 指定された ID を持つパッケージからパッケージ バージョンを作成します。
sf package version create --package 0Ho... --installation-key password123

// パッケージ バージョンを作成し、検証手順をスキップします。
sf package version create --path common --installation-key password123 --skip-validation

package version create list

パッケージ バージョンの作成リクエストをリストします。

// デフォルトの Dev Hub 組織内のすべてのパッケージ バージョンの作成リクエストを一覧表示します。
sf package version create list

// ユーザー名 devhub@example.com を使用して、Dev Hub 組織で過去 3 日間のパッケージ バージョンの作成リクエストを一覧表示します。
sf package version create list --created-last-days 3 --target-dev-hub

// ステータスが「エラー」のパッケージ バージョン作成リクエストをリストします:
sf package version create list --status Error

// ステータスが「進行中」のパッケージ バージョン作成リクエストをリストします。
sf package version create list --status InProgress

// 今日作成された、ステータスが「成功」のパッケージ バージョン作成リクエストをリストします。
sf package version create list --created-last-days 0 --status Success

package version create report

パッケージ バージョンの作成リクエストに関する詳細を取得します。

// 指定された ID を使用して、パッケージ バージョンの作成リクエストに関する詳細を取得します。デフォルトの Dev Hub 組織を使用します。
sf package version create report --package-create-request-id 08c...

// ユーザー名 devhub@example.com を使用して、Dev Hub 組織で指定されたパッケージ バージョンの作成リクエストに関する詳細を取得します。
sf package version create report --package-create-request-id 08c... --target-dev-hub devhub@example.com

package version delete

パッケージのバージョンを削除します。

// デフォルトの Dev Hub 組織を使用して、指定されたエイリアスを持つパッケージ バージョンを削除します。
sf package version delete --package "Your Package Alias"

// ユーザー名「devhub@example.com」の Dev Hub 組織を使用して、指定された ID のパッケージ バージョンを削除します。
sf package version delete --package 04t... --target-org devhub@example.com

package version displayancestry

2GP 管理パッケージのバージョンの祖先ツリーを表示します。

// デフォルトの Dev Hub 組織を使用して、指定されたエイリアスを持つパッケージ バージョンの祖先ツリーを表示します。
sf package version displayancestry --package package_version_alias

// 出力を DOT コードで表示します。
sf package version displayancestry --package package_version_alias --dot-code

// ユーザー名 devhub@example.com の Dev Hub 組織を使用して、指定された ID を持つパッケージの祖先ツリーを表示します。
sf package version displayancestry --package OHo... --target-dev-hub devhub@example.com

// デフォルトの Dev Hub 組織を使用して、指定された ID を持つパッケージ バージョンの祖先ツリーを表示します。
sf package version displayancestry --package 04t...

package version list

Dev Hub 組織内のすべてのパッケージ バージョンを一覧表示します。

// 過去 3 日間に作成されたデフォルトの Dev Hub 組織内のパッケージ バージョンを一覧表示します。リリースされたバージョンのみを表示し、PatchVersion フィールドを使用してリストを並べ替えます。各パッケージ バージョンに関する拡張詳細を表示します。
sf package version list --verbose --created-last-days 3 --released --order-by PatchVersion

// 今日変更された 2 つの指定されたパッケージのリリースされたパッケージ バージョンを一覧表示します。ユーザー名 devhub@example.com で Dev Hub 組織を使用します。
sf package version list --packages 0Ho000000000000,0Ho000000000001 --released --modified-last-days 0 --target-dev-hub devhub@example.com

// デフォルトの Dev Hub 組織でリリースされたすべてのパッケージ バージョンを一覧表示します。
sf package version list --released

// デフォルトの Dev Hub 組織で今日変更されたパッケージのバージョンを一覧表示します。それぞれについて限定的な詳細を表示します。
sf package version list --concise --modified-last-days 0

// デフォルトの Dev Hub 組織で過去 3 日間に作成された、リリースされたパッケージのバージョンを一覧表示します。限られた詳細を表示します:
sf package version list --concise --created-last-days 3 --released

// デフォルトの Dev Hub 組織内の指定されたエイリアスを持つ 2 つのパッケージについて、今日変更されたリリースされたパッケージ バージョンを一覧表示します。
sf package version list --packages exp-mgr,exp-mgr-util --released --modified-last-days 0

package version promote

パッケージ バージョンをリリース済みに昇格します。

// 指定された ID のパッケージ バージョンをリリースに昇格します。デフォルトの Dev Hub 組織を使用します。
sf package version promote --package 04t...

// 指定されたエイリアスを持つパッケージ バージョンをリリース済みにプロモートします。ユーザー名 devhub@example.com の Dev Hub 組織を使用します。
sf package version promote --package awesome_package_alias --target-dev-hub devhub@example.com

// リリースするスペースを含むエイリアスを使用してパッケージ バージョンをプロモートします。
sf package version promote --package "Awesome Package Alias"

package version report

Dev Hub 組織のパッケージ バージョンに関する詳細を取得します。

// 指定された ID を持つパッケージ バージョンに関する詳細をデフォルトの Dev Hub 組織から取得します。
sf package version report --package 04t...

// ユーザー名 devhub@example.com の Dev Hub 組織から、指定されたエイリアス (スペースを含む) を持つパッケージ バージョンに関する詳細を取得します。
sf package version report --package "Your Package Alias" --target-dev-hub devhub@example.com

package version update

パッケージのバージョンを更新します。

// 指定されたエイリアス (スペースを含む) を持つパッケージのバージョンを、新しいインストール キー「password123」で更新します。デフォルトの Dev Hub 組織を使用します。
sf package version update --package "Your Package Alias" --installation-key password123

// 指定された ID を持つパッケージのバージョンを新しいブランチとタグで更新します。ユーザー名 devhub@example.com で Dev Hub 組織を使用します。
sf package version update --package 04t... --branch main --tag 'Release 1.0.7' --target-dev-hub devhub@example.com

// 指定された ID を持つパッケージのバージョンを新しい説明で更新します。
sf package version update --package 04t... --version-description "New Package Version Description"

package1 Commands

第 1 世代の管理パッケージおよび非管理パッケージを開発するためのコマンドとのこと。旧バージョンに当たるものと思われるので省略。


第二世代管理パッケージについて


Salesforce Developers

Part 10 のまとめ

『package Commands』と『package1 Commands』のところをチェック。どちらもパッケージ開発をする開発者が利用するコマンドなのでこういうコマンドがありますという感じで次に行きます。