この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

スクラッチ組織の作成

スクラッチ組織は、簡単に作成して、コマンドラインから直接開くことができます。

スクラッチ組織を作成する前に、次の操作を実行します。

  • Salesforce DX プロジェクトを設定する
  • Dev Hub 組織を認証する
  • スクラッチ組織定義ファイルを作成する (独自に作成するか、組織シェイプを使用する)

機能開発用、名前空間が含まれるパッケージの開発用、ユーザー受け入れテスト用など、さまざまな機能用のスクラッチ組織を作成できます。

不要なスクラッチ組織や正常に機能しないスクラッチ組織は Dev Hub 組織またはコマンドラインで削除して、有効なスクラッチ組織の割り当て数に含まれないようにします。

ヒント

現在のディレクトリに対するスクラッチ定義ファイルへの相対パスを示します。サンプルリポジトリと新しいプロジェクトの場合、このファイルは config ディレクトリにあります。

スクラッチ組織を作成する方法

スクラッチ組織定義ファイルを使用して開発用のスクラッチ組織を作成し、スクラッチ組織にエイリアスを指定し、さらにこのスクラッチ組織がデフォルトであることを指定します。target-dev-hub フラグを使用して、Dev Hub 組織のユーザー名またはエイリアスを指定します。このフラグを指定しない場合は、デフォルトの Dev Hub が使用されます。
1sf org create scratch --definition-file config/project-scratch-def.json --alias MyScratchOrg --set-default --target-dev-hub MyHub

org create scratch を実行するときにコマンドラインで対応するフラグを指定することで、ユーザー定義ファイル内の多くのオプションを上書きできます。この方法により、複数のユーザーまたは継続的インテグレーションジョブで基本定義ファイルを共有し、コマンドの実行時にオプションをカスタマイズできます。次の例は、adminEmail と edition オプションを上書きします。

1sf org create scratch --definition-file config/project-scratch-def.json --admin-email me@email.com --edition developer

スクラッチ組織を作成する際に、必須フラグの --edition を指定している限り、定義ファイルを指定する必要はありません。

1sf org create scratch --edition developer

この例は、ID を指定して組織シェイプからスクラッチ組織を作成します。

1sf org create scratch --source-org 00DB1230000Ifx5

ユーザー受け入れテスト用またはパッケージのインストールのテスト用にスクラッチ組織を作成します。この場合、名前空間を持つスクラッチを作成する必要はありません。次のコマンドを使用して、スクラッチ組織定義ファイルの名前空間値を上書きできます。またこの例では、スクラッチ組織の期間、つまりスクラッチ組織の有効期限がいつ切れるかを指定します (1 ~ 30 日)。デフォルトの期間は 7 日です。

1sf org create scratch --definition-file config/project-scratch-def.json --no-namespace --duration-days 30

スクラッチ組織の Salesforce リリースを指定する。Salesforce リリースの移行中、スクラッチ組織を作成するときにリリース (プレビューまたは以前) を指定できます。詳細は、「スクラッチ組織の Salesforce リリースの選択」を参照してください。

1sf org create scratch --edition developer --release preview

--async フラグを指定することで、スクラッチ組織を要求すしますが、完了するまで待機しません。

1sf org create scratch --edition developer --async

このコマンドは、org resume scratch コマンドに渡すジョブ ID を表示します。このコマンドは、タイムアウトになったスクラッチ組織の作成を再開する場合にも使用します。

1sf org resume scratch --job-id 2SRB0000CSqdJOAT

ソース追跡を無効にして、スクラッチ組織を作成します。

1sf org create scratch --definition-file config/project-scratch-def.json --no-track-source

スクラッチ組織を正常に作成した場合

org create scratch コマンドは、実行時に、リクエストの送信や組織設定のリリース��どのバックグラウンドプロセスに関する実行情報を表示します。コマンドが完了すると、2 つの重要な情報 (組織 ID とユーザー名) が表示されます。

1Creating Scratch Org... 
2RequestId: 2SRB000000CSqdEOAT (https://cbdocorg.my.salesforce.com/2SRB000000CSqdEOAT)
3OrgId: 00D8I000000PhAk 
4Username: test-st9thgoyyyq3@example.com 
5✓ Prepare Request
6✓ Send Request
7✓ Wait For Org
8✓ Available
9✓ Authenticate
10✓ Deploy Settings
11Done
12
13Your scratch org is ready.
これで、組織を開くことができます。
1sf org open --target-org test-st9thgoyyyq3@example.com

--alias フラグを使用して別名を設定した場合は、その値を --target-org に使用することができます。

1sf org open --target-org MyScratchOrg

トラブルシューティングのヒント

create コマンドがエラーになった場合には、スクラッチ組織が作成されたかどうか明確ではない場合があります。Dev Hub 組織で次のコマンドを実行し、スクラッチ組織の ID が返されるかどうかを確認します。この方法によって、今日作成したスクラッチ組織が存在するかどうかと、自分が所有しているかどうかを確認できます。

1sf data query --query "SELECT ID, Name, Status FROM ScratchOrgInfo WHERE CreatedBy.Name = '<your name>' AND CreatedDate = TODAY" --target-org <Dev Hub org>

次の情報を参考にして、作成が実際に機能したかどうかを判断します。たとえば次の場合、ユーザー名が Jane Doe で、別名が DevHub の Dev Hub 組織が作成されています。

1sf data query --query "SELECT ID, Name, Status FROM ScratchOrgInfo WHERE CreatedBy.Name = 'Jane Doe' AND CreatedDate = TODAY" --target-org DevHub