異なる Dev Hub への第二世代管理パッケージの転送
異なる Dev Hub へのパッケージ転送要求
最初に Salesforce パートナーコミュニティでケースを登録し、次の詳細を指定します。
件名: Managed 2GP Package Transfer to a different Dev Hub (異なる Dev Hub への管理 2GP パッケージの転送)
説明:
説明で、次の情報を入力します。
- 転送するパッケージの登録者パッケージ ID。この ID は 033 で始まります。
パッケージの 033 ID を確認するには、ソース Dev Hub 組織で -–verbose フラグを指定して sf package list コマンドを実行します。
- ソース組織の Dev Hub 組織 ID。
- 対象組織の Dev Hub 組織 ID。対象の Dev Hub 組織に、Developer Edition 組織やトライアル組織を指定することはできません。
- 転送されるパッケージの名前空間。
- このパッケージ転送が内部転送か、外部転送かについての詳細。
外部転送が実行されるのは、自社で作業していない Salesforce パートナーまたは ISV にパッケージを転送する場合です。
- 名前空間を転送先の Dev Hub にリンクし、Apex エラー通知ユーザーをクリアするなど、Prepare to Transfer Your Package セクションに記載されている手順を参照および完了したことを確認します。
次に [Pick a Different Product / Topic (別の商品/トピックを選択)] をクリックし、[Product: Partner Programs & Benefits (商品: パートナープログラムとメリット)] と [Topic: ISV Technology Requests (トピック: ISV テクノロジー要求)] を選択します。
複数のパッケージを転送する場合は、パッケージごとに別々のケースを申請します。
ケースのレビューと承認が完了すると、パッケージ転送の開始時間を決めるため Salesforce パートナーサポートの担当者から連絡が届きます。
外部顧客へのパッケージ転送
パッケージを別の Salesforce パートナーや ISV に転送する場合は、次の情報を指定します。
- Salesforce DX 環境を適切に設定するために必要なソースコードと構成設定。
sfdx-project.json ファイルを適切に設定するために必要なすべての構成設定、およびスクラッチ組織定義ファイルに指定する必要があるすべての機能と設定のリスト。
- 名前空間組織へのログイン情報。この情報は、パッケージ名前空間を Dev Hub 組織にリンクするために必要です。
パッケージを転送するための準備
ここでは、スムーズにパッケージを転送できるようにする方法について説明します。
- 名前空間は、転送元 Dev Hub へのリンクを維持します。パッケージを転送する前に、転送元と転送先の両方の Dev Hub 組織に名前空間をリンクしておく必要があります。
- パッケージ転送プロセスを開始する前に、すべての転送アップグレードまたはパッケージバージョン作成プロセスを完了し��おきます。
- 不要になったパッケージバージョンを削除します。
- パッケージのエラー通知ユーザーが指定されている場合、sf package update --error-notification-username= コマンドを使用してクリアします。所有する Dev Hub 組織にパッケージを転送する場合、パッケージ転送完了後にエラー通知ユーザーを転送先の Dev Hub ユーザーに設定できます。注意: --error-notification-username= の指定で等号の後に値を入れない場合、以前に設定されていたユーザー名はすべてクリアされます。
パッケージ転送プロセス時
転送アップグレードまたはパッケージバージョン作成プロセスは必ず、パッケージ転送プロセスの開始前に完了する必要があります。Salesforce パートナーサポートは、パッケージ転送日についてのアラートを通知します。
パッケージ転送完了後
sf 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 ファイルに次のようなパッケージ連動関係が記述されている場合を考えます。
連動関係を更新して pkgA の 04t ID を指定します。
または、パッケージの別名を使用して連動関係を指定します。
転送されるパッケージ履歴
パッケージが転送されるとき、すべてのパッケージのバージョンと、すべての以前のバージョンが転送されます。カスタマーアップグレードパスは影響を受けません。
所有する 2 つの Dev Hub 組織間でパッケージが転送されたのか、それとも所有しない外部の Dev Hub にパッケージが転送されたのかにかかわらず、パッケージバージョン履歴が転送されます。
次のものが転送されます。
- パッケージの名前、名前空間、種別、および ID。例外が 1 つあり、転送パッケージでは新規の 0Ho ID が取得されます。
- パッケージバージョン情報。これには、sf package version list または sf package version report コマンドを実行すると通常表示されるすべての情報が含まれます。
次のものは転送されません。
- 転送アップグレード履歴。
- パッケージバージョン作成要求。
- Apex や他のタイプのエラー通知を受け取る Dev Hub ユーザーのユーザー名。このユーザー (省略可能) は、--error-notification-username を使用して設定できます。