API を使用した管理パッケージのインストール
ユーザインターフェースの代わりに API を使用して、管理パッケージをインストール、アップグレード、およびアンインストールできます。このような繰り返し実行するタスクを自動化すると、効率的に作業でき、アプリケーションの開発速度が向上します。
パッケージをインストール、アップグレード、またはアンインストールするには、標準メタデータ API の deploy() コールと InstalledPackage メタデータ型を使用します。次の操作がサポートされています。
- 組織で InstalledPackage をリリースすると、パッケージがその組織にインストールされます。
- 現在インストールされているパッケージの新バージョンをリリースすると、パッケージがアップグレードされます。
- package.xml の代わりに destructiveChanges.xml というマニフェストを使用して InstalledPackage をリリースすると、組織からパッケージがアンインストールされます。
これは、パッケージインストール用の典型的なプロジェクトマニフェスト (package.xml) です。マニフェストには、fullName または namespacePrefix 要素を含めないようにします。
1<?xml version="1.0" encoding="UTF-8"?>
2 <Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>*</members>
5 <name>InstalledPackage</name>
6 </types>
7 <version>28.0</version>
8 </Package>
パッケージは、MyNamespace.installedPackage というファイルで指定されます。このとき、MyNamespace は、パッケージの名前空間プレフィックスです。このファイルは、installedPackages というディレクトリに置く必要があり、その内容は次の形式にする必要があります。
1<?xml version="1.0" encoding="UTF-8"?>
2 <InstalledPackage xmlns="http://soap.sforce.com/2006/04/metadata">
3 <versionNumber>1.0</versionNumber>
4 <password>optional_password</password>
5 </InstalledPackage>
パッケージをアンインストールするには、package.xml ファイルに加えて、この destructiveChanges.xml マニフェストファイルをリリースします。
1<?xml version="1.0" encoding="UTF-8"?>
2 <Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>MyNamespace</members>
5 <name>InstalledPackage</name>
6 </types>
7 </Package>retrieve() コールを使用して InstalledPackage を取得すると、組織にインストールされたパッケージの XML 表現が作成されます。インストールされたパッケージにパスワードが設定されている場合、そのパスワードは取得されません。取得したファイルを別の組織にリリースすると、パッケージがその組織にインストールされます。
deploy() コマンドおよび retrieve() コマンドの詳細は、『メタデータ API 開発者ガイド』を参照してください。