スクラッチ組織定義ファイル
スクラッチ組織に関連付けられている次のような設定および設定オプションにより、そのシェイプが決まります。
- エディション — スクラッチ組織の Salesforce エディション (Developer、Enterprise、Group、Professional など)。
- アドオン機能 — デフォルトではエディションに含まれない機能 (マルチ通貨など)。
- 設定 — Salesforce 製品の設定に使用される組織と機能の設定 (Chatter やコミュニティなど)。
- カスタムオブジェクト、項目、インデックス、タブ、エンティティ定義
- サンプルデータ
- サンプル Chatter フィード
- ダッシュボードとレポート
- ワークフロー
- 選択リスト
- プロファイルと権限セット
- Apex クラス、トリガ、ページ
異なるスクラッチ組織定義ファイルを設定すると、テスト用に異なるシェイプを持つスクラッチ組織を簡単に作成できます。たとえば、定義ファイルに ChatterEnabled 組織設定を指定することで、スクラッチ組織の Chatter を有効または無効にできます。以前のようにサンプルデータとメタデータを含むスクラッチ組織が必要な場合、hasSampleData オプションを追加します。
スクラッチ組織定義ファイルには次のオプションを指定できます。
| 名前 | 必須 | 指定がない場合のデフォルト |
|---|---|---|
| orgName | いいえ | 会社名 |
| country | いいえ | Dev Hub の国。この値を上書きする場合は、英大文字 2 文字の ISO-3166 国コード (Alpha-2 コード) を入力します。これらのコードの完全なリストは、https://www.iso.org/obp/ui/#search などのさまざまなサイトに掲載されています。この値により、スクラッチ組織のロケールが設定されます。 |
| username | いいえ | test-unique_identifier@example.com |
| adminEmail | いいえ | スクラッチ組織作成要求を行った Dev Hub ユーザのメールアドレス |
| edition | はい | なし。有効なエントリは Developer、Enterprise、Group、Professional |
| 説明 | いいえ | なし。2,000 文字の自由形式のテキスト項目。 説明は、スクラッチ組織の目的を文書化するのに適した方法です。Dev Hub で説明の表示や編集ができます。アプリケーションランチャーから、[スクラッチ組織情報] または [有効なスクラッチ組織] を選択し、スクラッチ組織番号をクリックします。 |
| hasSampleData | いいえ | 有効な値は、true および false です。デフォルトは false で、サンプルデータなしで組織が作成されます。 |
| language | いいえ | 国のデフォルト言語。Dev Hub ロケールで設定された言語を上書きするには、「サポート言語」でこの項目で使用するコードを確認してください。 |
| features | いいえ | なし |
| orgPreferences (Spring '19 で廃止) | いいえ | なし |
| 設定 | いいえ | なし |
| <カスタム項目の API 参照名> | いいえ | なし。ScratchOrgInfo オブジェクトに関する追加情報を追跡する Dev Ops の使用事例で役立ちます。カスタム項目を作成してから、スクラッチ組織定義で API 参照名を使用して参照します。 |
1{
2 "orgName": "Acme",
3 "edition": "Enterprise",
4 "features": ["Communities", "ServiceCloud", "Chatbot"],
5 "settings": {
6 "orgPreferenceSettings": {
7 "networksEnabled": true,
8 "s1DesktopEnabled": true,
9 "s1EncryptedStoragePref2": false
10 },
11 "omniChannelSettings": {
12 "enableOmniChannel": true
13 },
14
15 "caseSettings": {
16 "systemUserEmail": "support@acme.com"
17 }
18 }
19}コミュニティなど、機能によっては、スクラッチ組織で適切に機能するために機能と設定の組み合わせが必要になることがあります。次のコードスニペットでは、機能と関連付けられた設定の両方が設定されます。
1"features": ["Communities"],
2 "settings": {
3 ""networksEnabled": true
4 ...force:org:create CLI コマンドでスクラッチ組織を作成するときには、スクラッチ組織設定ファイルへのパスを指定します。このファイルには任意の名前を指定でき、CLI がアクセスできる任意の場所に配置できます。
サンプルリポジトリを使用する場合や Salesforce DX プロジェクトを作成する場合、サンプルのスクラッチ組織定義ファイルは config ディレクトリにあります。異なる組織シェイプやテストシナリオ用に異なる組織設定ファイルを作成できます。識別しやすいように、ファイルには���かりやすい名前を付けます (たとえば、devEdition-scratch-def.json や packaging-org-scratch-def.json など) 。
このファイルをプロジェクトで保持し、バージョン管理システムにチェックインすることをお勧めします。たとえば、すべてのチームメンバーが使用できるように、チームバージョンを作成してチェックインします。個々の開発者も、スクラッチ組織定義パラメータを含む自分のローカルバージョンを作成できます。これらのパラメータとして、スクラッチ組織の作成者を識別するメールや姓などがあります。
ScratchOrgInfo のカスタム項目の作成
スクラッチ組織定義にオプションを追加して、Dev Ops プロセスを管理できます。これを行うには、ScratchOrgInfo オブジェクトのカスタム項目を作成します。ScratchOrgInfo は、スクラッチ組織の作成や削除を追跡します。
- Dev Hub 組織で、カスタム項目を作成します。
- [設定] から [クイック検索] ボックスに「オブジェクトマネージャ」と入力し、[オブジェクトマネージャ] を選択します。
- [スクラッチ組織情報] をクリックします。
- [項目とリレーション] で、[新規] をクリックします。
- カスタム項目を定義し、[保存] をクリックします。
- カスタム項目を作成したら、スクラッチ組織定義ファイルで API 参照名で参照して、カスタム項目に値を渡すことができます。
workitem と release の 2 つのカスタム項目を作成するとします。カスタム項目と関連付けられている値をスクラッチ組織定義に追加します。
1{ 2 "orgName": "MyCompany", 3 "edition": "Developer", 4 "workitem__c": "W-12345678", 5 "release__c": "June 2018 pilot", 6 7 "settings": { 8 "orgPreferenceSettings": { 9 "s1DesktopEnabled": true 10 } 11} - スクラッチ組織を作成します。