MetadataPackageVersion
サポートされているコール
describeSObjects()、query()、retrieve()
項目
| 項目名 | 詳細 |
|---|---|
| BuildNumber |
|
| MajorVersion |
|
| MetadataPackageId |
|
| MinorVersion |
|
| Name |
|
| PatchVersion |
|
| ReleaseState |
|
使用方法
次に、実行できる API クエリの種別の例を示します。
| クエリ | 文字列 |
|---|---|
| MetadataPackageID が 033D00000001xQlIAI のパッケージのすべてのパッケージバージョンを取得する | SELECT Id, Name, ReleaseState, MajorVersion, MinorVersion, PatchVersion FROM MetadataPackageVersion WHERE MetadataPackageId = '033D00000001xQlIAI' |
| 特定の MetadataPackageID を持ち、メジャーバージョンが 1 より大きいパッケージのパッケージバージョンを取得する | SELECT Id FROM MetadataPackageVersion WHERE MetadataPackageId ='033D00000001xQlIAI' AND MajorVersion > 1 |
| 特定のMetadataPackageID を持つパッケージのリリース済みパッケージバージョンを取得する | SELECT Id FROM MetadataPackageVersion WHERE MetadataPackageId = '033D00000001xQlIAI' AND ReleaseState = 'Released' |
Java コードサンプル
パッケージのバージョン 3.4.6 をすべての組織に転送するとします。アップグレードの対象となる組織を識別するコードを記述しましょう。この例は、MetadataPackageId が packageId と等しい MetadataPackageVersion に対する PackageSubscriber オブジェクトのリストを生成する方法を示しています。
このサンプルコードでは、Force.com Web Services Connector (WSC) を使用しています。
1// Finds all Active subscriber orgs that have the package installed
2String PACKAGE_SUBSCRIBER_ORG_KEY_QUERY = "Select OrgKey from PackageSubscribers where OrgStatus = 'Active' and InstalledStatus = 'I'";
3
4// Finds all MetadataPackageVersions lower than the version given, including the list
5// of subscribers for each version
6String METADATA_PACKAGE_VERSION_QUERY = "Select Id, Name, ReleaseState, (%s) from"
7 + " AND (MajorVersion < 3 OR (MajorVersion = 3 and MinorVersion < 4)"
8 + " OR (MajorVersion = 3 and MinorVersion = 4 and PatchVersion < 6))";
9
10// conn is an EnterpriseConnection instance initialized with a ConnectionConfig object
11// representing a connection to the developer org of the package
12QueryResult results = conn.query(String.format(METADATA_PACKAGE_VERSION_QUERY, PACKAGE_SUBSCRIBER_ORG_KEY_QUERY, packageId));
13
14// This list will hold all of the PackageSubscriber objects that are eligible for upgrade
15// to the given version
16List<PackageSubscriber> subscribers = new ArrayList<>();
17for (SObject mpvso : results.getRecords()) {
18
19 // Cast the sObject to a MetadataPackageVersion
20 MetadataPackageVersion mpv = (MetadataPackageVersion) mpvso;
21
22 // Add subscribers to our list
23 if (mpv.getPackageSubscribers() != null) {
24 for (SObject psso : mpv.getPackageSubscribers().getRecords()) {
25 subscribers.add((PackageSubscriber) psso);
26 }
27 }
28}次のステップ
PackagePushRequest を使用して転送要求を作成します。