スクラッチ組織定義ファイル
組織シェイプは、次のような関連付けられた設定のコレクションによって決まります。
- エディション — スクラッチ組織の Salesforce エディション (Developer、Enterprise、Group、Professional など)。
- アドオン機能 — デフォルトではエディションに含まれない機能 (マルチ通貨など)。
- 組織設定 — Salesforce 製品の設定に使用される組織と機能の設定 (Chatter やコミュニティなど)。
- カスタムオブジェクト、項目、インデックス、タブ、エンティティ定義
- サンプルデータ
- サンプル Chatter フィード
- ダッシュボードとレポート
- ワークフロー
- 選択リスト
- プロファイルと権限セット
- Apex クラス、トリガ、ページ
異なるスクラッチ組織定義ファイルを設定すると、テスト用に異なるシェイプを持つスクラッチ組織を簡単に作成できます。たとえば、定義ファイルに ChatterEnabled 組織設定を指定することで、スクラッチ組織の Chatter を有効または無効にできます。以前のようにサンプルデータとメタデータを含むスクラッチ組織が必要な場合、hasSampleData オプションを指定します。
スクラッチ組織定義ファイルには次のオプションを指定できます。
| 名前 | 必須 | 指定がない場合のデフォルト |
|---|---|---|
| orgName | いいえ | 会社名 |
| country | いいえ | Dev Hub の国 |
| username | いいえ | test-unique_identifier@orgName.net |
| adminEmail | いいえ | スクラッチ組織作成要求を行った Dev Hub ユーザのメールアドレス |
| edition | はい | なし。有効なエントリは Developer、Enterprise、Group、Professional |
| hasSampleData | いいえ | 有効な値は、true および false です。デフォルトは false で、サンプルデータなしで組織が作成されます。 |
| language | いいえ | 国のデ���ォルト言語 |
| features | いいえ | なし |
| orgPreferences | いいえ | なし |
1{
2 "orgName": "Acme",
3 "country": "US",
4 "edition": "Enterprise",
5 "hasSampleData": "true",
6 "features": ["MultiCurrency", "AuthorApex"],
7 "orgPreferences": {
8 "enabled": ["S1DesktopEnabled", "ChatterEnabled"],
9 "disabled": ["IsNameSuffixEnabled"]
10 }
11}コミュニティなど、機能によっては、スクラッチ組織で適切に機能するために機能と orgPreferences パラメータの組み合わせが必要になることがあります。次のコードスニペットでは、コードと組織設定の両方が設定されます。
1"features": ["Communities"],
2 "orgPreferences": {
3 "enabled": ["NetworksEnabled"],
4 ...force:org:create CLI コマンドでスクラッチ組織を作成するときには、スクラッチ組織設定ファイルへのパスを指定します。このファイルには任意の名前を指定でき、CLI がアクセスできる任意の場所に配置できます。
サンプルリポジトリを使用する場合や Salesforce DX プロジェクトを作成する場合、サンプルのスクラッチ組織定義ファイルは config ディレクトリにあります。異なる組織シェイプやテストシナリオ用に異なる組織設定ファイルを作成できます。識別しやすいように、ファイルにはわかりやすい名前を付けます (たとえば、devEdition-scratch-def.json や packaging-org-scratch-def.json など) 。
このファイルをプロジェクトで保持し、バージョン管理システムにチェックインすることをお勧めします。たとえば、すべてのチームメンバーが使用できるように、チームバージョンを作成してチェックインします。個々の開発者も、スクラッチ組織定義パラメータを含む自分のローカルバージョンを作成できます。これらのパラメータとして、スクラッチ組織の作成者を識別するメールや姓などがあります。