異なる Dev Hub へのロック解除済みパッケージの転送
異なる Dev Hub へのパッケージ転送要求
最初に Salesforce カスタマーサポートでケースを登録し、次の情報を指定します。
- ソース組織の Dev Hub 組織 ID。
- 転送するパッケージの登録者パッケージ ID。この ID は 033 で始まります。
パッケージの 033 ID を確認するには、ソース Dev Hub 組織で -–verbose フラグを指定して force:package:list コマンドを実行します。
- 対象組織の Dev Hub 組織 ID。
- (省略可能) 転送されるパッケージの名前空間。パッケージが名前空間のないロック解除済みパッケージの場合は、このステップをスキップします。
複数のパッケージを転送する場合は、パッケージごとに別々のケースを申請します。
ケースのレビューと承認が完了すると、パッケージ転送の開始時間を決めるため Salesforce カスタマーサポートの担当者から連絡が届きます。
パッケージを転送するための準備
ここでは、スムーズにパッケージを転送できるようにする方法について説明します。
- 転送するパッケージに名前空間がある場合、その名前空間の転送元 Dev Hub へのリンクを維持します。パッケージを転送する前に、名前空間を転送元と転送先の両方の Dev Hub 組織にリンクしておく必要があります。
- パッケージ転送プロセスを開始する前に、すべての転送アップグレードまたはパッケージバージョン作成プロセスを完了しておきます。
- 不要になったパッケージバージョンを削除します。
- パッケージのエラー通知ユーザが指定されている場合、sfdx force:package:update コマンドを使用してクリアします。所有する Dev Hub 組織にパッケージを転送する場合、パッケージ転送完了後にエラー通知ユーザを転送先の Dev Hub ユーザに設定できます。
パッケージ転送プロセス時
転送アップグレードまたはパッケージバージョン作成プロセスは必ず、パッケージ転送プロセスの開始前に完了する必要があります。Salesforce カスタマーサポートは、パッケージ転送日についてのアラートを通知します。
パッケージ転送完了後
sfdx force:package:list を実行し、パッケージが Dev Hub に関連付けられていないことを確認します。
パッケージ ID に対するパッケージ転送の影響
| ID 種別 | ID の先頭 | パッケージ転送完了後 |
|---|---|---|
| 登録者パッケージ ID | 033 | この ID は同じままです。 |
| 登録者パッケージバージョン ID | 04t | この ID は同じままです。 |
| パッケージ ID | 0Ho | 転送パッケージは、新しい一意のパッケージ ID を受け取ります。 |
パッケージプロジェクトファイルの更新
Dev Hub で新規のパッケージまたはパッケージバージョンを作成する前に、sfdx-project.json ファイルを更新し、転送パッケージへの参照をパッケージディレクトリとパッケージ別名のセクションからすべて削除します。
転送するパッケージに連動するパッケージが Dev Hub にある場合は、sfdx-project.json ファイルのパッケージ連動関係セクションを更新し、連動する転送パッケージの 04t ID を明示的に指定します。
たとえば、pkgA を別の Dev Hub に転送し、sfdx-project.json ファイルに次のようなパッケージ連動関係が記述されている場合を考えます。
連動関係を更新して pkgA の 04t ID を指定します。
または、パッケージの別名を使用して連動関係を指定します。
転送されるパッケージ履歴
所有する 2 つの Dev Hub 組織間でパッケージが転送されたのか、それとも所有しない外部の Dev Hub にパッケージが転送されたのかにかかわらず、パッケージバージョン履歴が転送されます。
次のものが転送されます。
- パッケージの名前、名前空間、種別、および ID。例外が 1 つあり、転送パッケージでは新規の 0Ho ID が取得されます。
- パッケージバージョン情報。これには、force:package:version:list または force:package:version:report コマンドを実行すると通常表示されるすべての情報が含まれます。
次のものは転送されません。
- 転送アップグレード履歴。
- パッケージバージョン作成要求。
- Apex や他のタイプのエラー通知を受け取る Dev Hub ユーザのユーザ名。このユーザ (省略可能) は、--errornotificationusername を使用して設定できます。