package.xml マニフェストファイルのサンプル
このセクションには、異なるメタデータのサブセットを使用する方法を説明する package.xml マニフェストファイルのサンプルが含まれます。マニフェストファイルには、複数の <types> 要素を含めることができるため、1 つのバッチですべてのメタデータを使用する場合は、個々のサンプルを 1 つの package.xml マニフェストファイルに組み入れることができます。マニフェストファイルの構造についての詳細は、「Zip ファイルの使用」を参照してください。次のサンプルがリストされています。
- 標準オブジェクト
- すべてのカスタムオブジェクト
- 標準選択リスト項目
- カスタム項目および標準項目
- 標準オブジェクトのリストビュー
- パッケージ
- セキュリティ設定
- 割り当てルール、自動レスポンスルール、エスカーレーションルール
- 共有ルール
- 管理コンポーネントへのアクセス
標準オブジェクト
この package.xml マニフェストファイルのサンプルでは、標準の Account オブジェクトの使用方法を示します。標準オブジェクトの取得またはリリースには、カスタマイズできない標準項目を除き、すべてのカスタム項目および標準項目が含まれます。すべてのカスタム項目がサポートされます。カスタマイズできる標準項目 (ヘルプテキストを追加したり、履歴追跡や Chatter フィード追跡を有効にできる標準項目) のみがポートされます。システム項目 (CreatedById、LastModifiedDate など)、自動採番項目を含む、その他の標準項目はサポートされません。
CustomObject タイプのメンバーとして標準の Account オブジェクトを指定することによって、どのようにそれを使用するかを確認してください。ただし、アスタリスクワイルドカードを使用してすべての標準オブジェクトを使用することはできません。それぞれの標準オブジェクトを名前で指定する必要があります。
すべてのカスタムオブジェクト
この package.xml マニフェストファイルのサンプルでは、すべてのカスタムオブジェクトの使用方法を示します。
このマニフェストファイルは、すべてのカスタムオブジェクトを取得またはリリースするために使用できます。これには、すべての標準オブジェクトは含まれません。
標準選択リスト項目
API バージョン 38.0 以降では、StandardValueSet 型は標準選択リストを表します。以前のバージョンのように、選択リストは項目では表されなくなりました。このサンプル package.xml は Industry 標準選択リストを StandardValueSet 型として表します。
Industry 標準値セットは API バージョン 37.0 以前の Account.Industry または Lead.Industry 項目に対応します。次の例は、Account.Industry 選択リストの package.xml サンプルを示します。
<members> 項目の objectName.picklistField 構文において、objectName は Account などのオブジェクトの名前で、picklistField は [業種] などの標準選択リスト項目名です。
次の package.xml サンプルは、API バージョン 38.0 以降の商談チーム内の役割を表します。商談チーム内の役割を SalesTeamRole 標準値セットとして指定します。商談チーム内の役割の選択リスト値は取引先チームの役割と同じです。
SalesTeamRole 標準値セットは API バージョン 37.0 以前の次のいずれかの項目名に対応します: OpportunityTeamMember.TeamMemberRole、UserAccountTeamMember.TeamMemberRole、UserTeamMember.TeamMemberRole、AccountTeamMember.TeamMemberRole。このサンプル package.xml では、商談チーム内の役割は OpportunityTeamMember.TeamMemberRole 項目として表されています。
標準値セットの名前について、および選択リスト項目名に対応付ける方法については、「StandardValueSet 名および標準選択リスト項目」を参照してください。
カスタム項目および標準項目
この package.xml マニフェストファイルのサンプルでは、カスタムオブジェクトおよび標準オブジェクトのカスタム項目や標準オブジェクトの標準項目の使用方法を示します。
<members> 項目の objectName.field 構文において、objectName は、Account などのオブジェクトの名前で、field は、サービスレベル契約オプションを表す SLA 選択リスト項目などのカスタム項目または標準項目の名前です。MyCustomObject カスタムオブジェクトの MyCustomField カスタム項目は、その完全名 MyCustomObject__c.MyCustomField__c によって一意に識別されます。同様に、Account 標準オブジェクトの Phone 標準項目は、その完全名 Account.Phone によって一意に識別されます。
すべてのカスタム項目がサポートされます。カスタマイズできる標準項目 (ヘルプテキストを追加したり、履歴追跡や Chatter フィード追跡を有効にできる標準項目) のみがポートされます。システム項目 (CreatedById、LastModifiedDate など)、自動採番項目を含む、その他の標準項目はサポートされません。
標準オブジェクトのリストビュー
標準オブジェクトのリストビューを取得する最も簡単な方法は、オブジェクトを取得することです。リストビューは、取得されたコンポーネントに含まれます。「標準オブジェクト」を参照してください。
また、オブジェクトのすべての詳細情報を取得しない場合は、個々のリストビューを使用することもできます。この package.xml マニフェストファイルのサンプルでは、標準の Account オブジェクトのリストビューの使用方法を示します。
<members> 項目の objectName.listViewUniqueName 構文において、objectName は、Account などのオブジェクトの名前で、listViewUniqueName は、リストビューの[ビューの一意の名前]です。リストビューを取得すると、コンポーネントは、objects/Account.object に保存されます。
パッケージ
パッケージを取得するには、retrieve() をコールするときに、RetrieveRequest の packageNames 項目にパッケージの名前を設定します。package.xml マニフェストファイルは、取得された .zip ファイルに自動的に格納されます。package.xml の <fullName> 要素には、取得されたパッケージの名前が含まれます。
<members> 要素にアスタリスクワイルドカードを使用して特定のメタデータ型のすべてのコンポーネントを取得する場合、取得されたコンテンツには管理パッケージのコンポーネントは含まれません。
管理パッケージのコンポーネントを取得する最も簡単な方法は、前述のように、RetrieveRequest の packageNames 項目にパッケージの名前を設定することによって完全なパッケージを取得する方法です。次の package.xml マニフェストファイルのサンプルでは、パッケージの個々のコンポーネントを取得する代替方法を示します。
<members> 項目の namespacePrefix__objectName 構文において、namespacePrefix は、パッケージの名前空間プレフィックスで、objectName はオブジェクトの名前です。名前空間プレフィックスは、パッケージおよびそのコンテンツとその他の公開者のパッケージを区別する 1 ~ 15 文字の英数字で構成される識別子です。詳細は、Salesforce ヘルプの「名前空間プレフィックスを登録する」を参照してください。
セキュリティ設定
この package.xml マニフェストファイルのサンプルでは、組織のセキュリティ設定の使用方法を示します。SecuritySettings コンポーネントの種類を取得する場合には、<members> 要素で Security を指定し、name 要素で Settings を指定します。
割り当てルール、自動レスポンスルール、エスカーレーションルール
割り当てルール、自動レスポンスルール、およびエスカレーションルールでは、オブジェクト種別の一連のまたは個別のルールにアクセスするために、さまざまな package.xml 型名が使用されます。たとえば、package.xml マニフェストファイルの次のサンプルは、組織のケースとリードのみの割り当てルールにアクセスする方法を示しています。
共有ルール
API バージョン 33.0 以降では、すべての標準オブジェクトとカスタムオブジェクトの共有ルールを取得およびリリースできます。この package.xml マニフェストファイルのサンプルでは、リードオブジェクトの条件に基づく特定の共有ルールの取得、すべてのオブジェクトの所有権に基づくすべての共有ルールの取得、Account オブジェクトのテリトリーに基づくすべての共有ルールの取得など、組織の共有ルールの取得方法を示します。
管理コンポーネントへのアクセス
- Apex クラス
- アプリケーション
- カスタム項目権限
- カスタムオブジェクト権限
- カスタムタブの設定
- 外部データソース
- レコードタイプ
- Visualforce ページ
管理コンポーネントの権限を取得してリリースする場合は、名前空間とそれに続く 2 つのアンダースコアを指定します。ワイルドカードはサポートされていません。
たとえば、MyNamespace という名前空間と JobRequest__c というカスタムオブジェクトを使用して、管理パッケージをインストールするとします。パッケージの JobRequest__c のオブジェクト権限を、カスタムプロファイル MyProfile に対して設定するには、.profile ファイルに次のコードを追加します。
リリースするには、次のコードを使用します。
取得するには、次のコードを使用します。
権限セットとプロファイルを取得する場合、権限と設定に関連するコンポーネントも取得する必要があります。たとえば、アプリケーション表示設定を取得する場合、関連付けられたアプリケーションも取得する必要があり、オブジェクトまたは項目権限を取得する場合は、関連付けられたオブジェクトも取得する必要があります。