異なる Dev Hub への第二世代管理パッケージの転送
異なる Dev Hub へのパッケージ転送要求
最初に Salesforce パートナーコミュニティでケースを登録し、次の情報を指定します。
- ソース組織の Dev Hub 組織 ID。
- 転送するパッケージの登録者パッケージ ID。この ID は 033 で始まります。
パッケージの 033 ID を確認するには、ソース Dev Hub 組織で -–verbose フラグを指定して force:package:list コマンドを実行します。
- 対象組織の Dev Hub 組織 ID。
- 転送されるパッケージの名前空間。
- このパッケージ転送が内部転送か、外部転送かについての詳細。
外部転送が実行されるのは、自社で作業していない Salesforce パートナーまたは ISV にパッケージを転送する場合です。
複数のパッケージを転送する場合は、パッケージごとに別々のケースを申請します。
ケースのレビューと承認が完了すると、パッケージ転送の開始時間を決めるため Salesforce パートナーサポートの担当者から連絡が届きます。
外部顧客へのパッケージ転送
パッケージを別の Salesforce パートナーや ISV に転送する場合は、次の情報を指定します。
- Salesforce DX 環境を適切に設定するために必要なソースコードと構成設定。
sfdx-project.json ファイルを適切に設定するために必要なすべての構成設定、およびスクラッチ組織定義ファイルに指定する必要があるすべての機能と設定のリスト。
- 名前空間組織へのログイン情報。この情報は、パッケージ名前空間を Dev Hub 組織にリンクするために必要です。
パッケージを転送するための準備
ここでは、スムーズにパッケージを転送できるようにする方法について説明します。
- 名前空間は、転送元 Dev Hub へのリンクを維持します。パッケージを転送する前に、名前空間を転送元と転送先の両方の Dev Hub 組織にリンクしておく必要があります。
- パッケージ転送プロセスを開始する前に、すべての転送アップグレードまたはパッケージバージョン作成プロセスを完了しておきます。
- 不要になったパッケージバージョンを削除します。
- パッケージのエラー通知ユーザが指定されている場合、sfdx force:package:update コマンドを使用してクリアします。所有する Dev Hub 組織にパッケージを転送する場合、パッケージ転送完了後にエラー通知ユーザを転送先の Dev Hub ユーザに設定できます。
パッケージ転送プロセス時
転送アップグレードまたはパッケージバージョン作成プロセスは必ず、パッケージ転送プロセスの開始前に完了する必要があります。Salesforce パートナーサポートは、パッケージ転送日についてのアラートを通知します。
パッケージ転送完了後
sfdx force:package:list を実行し、パッケージが Dev Hub に関連付けられていないことを確認します。
転送パッケージが依然として CLI 出力に表示されており、パッケージ転送が成功したことがパッケージ転送の受信者によって示された場合は、Salesforce パートナーサポートにケースを登録し、パッケージと Dev Hub 組織の関連付けを削除します。
次に、このパッケージの既存の AppExchange リストを非公開にします。
パッケージ 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 ファイルに次のようなパッケージ連動関係が記述されている場合を考えます。
1"dependencies": [
2 {
3 "package": "pkgA"
4 "versionNumber": "2.0.0.LATEST"
5 }
6]連動関係を更新して pkgA の 04t ID を指定します。
1"dependencies": [
2 {
3 "package": "04tB0000000UzH5IAK"
4 }
5]または、パッケージの別名を使用して連動関係を指定します。
1"dependencies": [
2 {
3 "package": "pkgA2.0.0-1"
4 }
5"packageAliases": {
6 "pkgA2.0.0-1": "04tB0000000UzH5IAK"
7 }
8]転送されるパッケージ履歴
所有する 2 つの Dev Hub 組織間でパッケージが転送されたのか、それとも所有しない外部の Dev Hub にパッケージが転送されたのかにかかわらず、パッケージバージョン履歴が転送されます。
次のものが転送されます。
- パッケージの名前、名前空間、種別、および ID。例外が 1 つあり、転送パッケージでは新規の 0Ho ID が取得されます。
- パッケージバージョン情報。これには、force:package:version:list または force:package:version:report コマンドを実行すると通常表示されるすべての情報が含まれます。
次のものは転送されません。
- 転送アップグレード履歴。
- パッケージバージョン作成要求。
- Apex や他のタイプのエラー通知を受け取る Dev Hub ユーザのユーザ名。このユーザ (省略可能) は、--errornotificationusername を使用して設定できます。