MetadataPackageVersion
サポートされているコール
describeSObjects()、query()、retrieve()
項目
| 項目名 | 詳細 |
|---|---|
| BuildNumber |
|
| IsDeprecated |
|
| 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 をすべての組織に転送するとします。アップグレードの対象となる組織を識別するコードを記述しましょう。この例は、パッケージのバージョン 3.4.6 にアップグレードできるサブスクライバー組織のリストを生成する方法を示しています。
このコードサンプルは 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 + " MetadataPackageVersion where MetadataPackageId = '%s' AND ReleaseState = 'Released'"
8 + " AND (MajorVersion < 3 OR (MajorVersion = 3 and MinorVersion < 4)"
9 + " OR (MajorVersion = 3 and MinorVersion = 4 and PatchVersion < 6))";
10
11// conn is an EnterpriseConnection instance initialized with a ConnectionConfig object
12// representing a connection to the developer org of the package
13QueryResult results = conn.query(String.format(METADATA_PACKAGE_VERSION_QUERY, PACKAGE_SUBSCRIBER_ORG_KEY_QUERY));
14
15// This list will hold all of the PackageSubscriber objects that are eligible for upgrade
16// to the given version
17List<PackageSubscriber> subscribers = new ArrayList<>();
18for (SObject mpvso : results.getRecords()) {
19
20 // Cast the sObject to a MetadataPackageVersion
21 MetadataPackageVersion mpv = (MetadataPackageVersion) mpvso;
22
23 // Add subscribers to our list
24 if (mpv.getPackageSubscribers() != null) {
25 for (SObject psso : mpv.getPackageSubscribers().getRecords()) {
26 subscribers.add((PackageSubscriber) psso);
27 }
28 }
29}次のステップ
PackagePushRequest を使用して転送要求を作成します。