メタデータ型のコンポーネントのリスト
listMetadata ターゲットは、組織のメタデータコンポーネントに関するプロパティ情報を取得します。このターゲットは、package.xml の個々のコンポーネントを取得用に識別する場合、または組織の特定のメタデータ型の概要が必要な場合に役立ちます。たとえば、組織の CustomObject コンポーネントまたは Layout コンポーネントのすべての名前のリストが返されるようにこのターゲットを使用できます。さらに、この情報を使用して、後続の取得でこれらのコンポーネントのサブセットが返されるようにすることができます。次のパラメータは、<sf:listMetadata> ターゲットごとに設定できます。
| 項目 | 説明 |
|---|---|
| username | sessionId が指定されていない場合は必須です。ログイン用の Salesforce ユーザ名。この接続に関連付けられるユーザ名は、「すべてのデータの編集」権限を持っている必要があります。通常、これはシステム管理者のみに有効です。 |
| password | sessionId が指定されていない場合は必須です。このプロジェクトに関連付けられた組織にログインするために使用するパスワード。セキュリティトークンを使用している場合は、パスワードの最後に 25 桁のトークン値を貼り付けます。 |
| sessionId | username および password が指定されていない場合は必須です。有効な Salesforce セッションの ID または OAuth アクセストークン。セッションは、ユーザがユーザ名とパスワードを使用して正常に Salesforce にログインした後に作成されます。新しいセッションを作成するのではなく既存のセッションにログインする場合は、セッション ID を使用します。または、OAuth 認証のためのアクセストークンを使用します。詳細は、Salesforce ヘルプの「Authenticating Apps with OAuth (OAuth によるアプリケーションの認証)」を参照してください。 |
| serverurl | 省略可能。Salesforce サーバの URL (空白の場合、デフォルトは login.salesforce.com)。Sandbox インスタンスに接続するには、test.salesforce.com に変更します。 |
| metadataType | 必須。プロパティ情報を取得するメタデータ型の名前は、カスタムオブジェクトの場合は CustomObject、カスタムレポートの場合は Report のようになります。有効な値の一覧は、「コンポーネントの種類」を参照してください。 |
| folder | コンポーネントに関連付けられたフォルダ。この項目は、Dashboard、Document、EmailTemplate、Report などのフォルダを使用するコンポーネントでは必須です。 |
| apiVersion | 省略可能。メタデータに使用する API バージョン。デフォルトは 38.0 です。 |
| resultFilePath | 省略可能。結果を保存する出力ファイルのパス。デフォルトの出力はコンソールです。ファイルへの出力を指定すると、package.xml マニフェストファイルの関連情報を抽出しやすくなります。 |
| trace | 省略可能。デフォルトは false です。SOAP 要求と応答をコンソールに表示します。これには、ログイン時のユーザのパスワードがプレーンテキストで表示されます。 |
CustomObject など、1 つのメタデータ型のコンポーネントのプロパティ情報を取得するには、<sf:listMetadata> を使用して、build.xml ファイルでターゲットを指定します。
1<target name="listMetadata">
2 <sf:listMetadata
3 username="${sf.username}"
4 password="${sf.password}"
5 sessionId="${sf.sessionId}"
6 serverurl="${sf.serverurl}"
7 metadataType="CustomObject"
8 resultFilePath="listMetadata/list.log"/>
9</target>次の例では、フォルダに存在するコンポーネントを使用しています。
1<target name="listMetadata">
2 <sf:listMetadata
3 username="${sf.username}"
4 password="${sf.password}"
5 sessionId="${sf.sessionId}"
6 serverurl="${sf.serverurl}"
7 metadataType="Report"
8 folder="Marketing_Reports"
9 resultFilePath="listMetadata/list.log"/>
10</target>