この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ロック解除済みパッケージからの連動関係情報の抽出

インストールされたロック解除済みパッケージに対して簡単な SOQL クエリを実行し、その連動関係情報を抽出できるようになりました。また、スクリプトを作成し、連動関係を持つロック解除済みパッケージのインストールを自動化することもできます。

SubscriberPackageVersion Tooling API オブジェクトで連動関係情報が提供されるようになりました。SubscriberPackageVersion に対する SOQL クエリを使用して、ロック解除済みパッケージの連動元のパッケージを特定できます。これらのパッケージの (04t) ID と、正しいインストール順序を取得できます。

パッケージ B にはパッケージ A との連動関係があります。パッケージ D はパッケージ B と C に連動します。パッケージバージョンの作成時に指定されたサンプルの sfdx-project.json を次に示します。パッケージ D の連動関係はパッケージ A、B および C として記述されています。
1{
2    "packageDirectories": [
3        {
4            "path": "pkg-a-workspace",
5            "package": "pkgA",
6            "versionName": "ver 4.9",
7            "versionNumber": "4.9.0.NEXT",
8            "default": true
9        },
10        {
11            "path": "pkg-b-workspace",
12            "package": "pkgB",
13            "versionName": "ver 3.17",
14            "versionNumber": "3.17.0.NEXT",
15            "default": false,
16            "dependencies": [
17                {
18                    "package": "pkgA",
19                    "versionNumber": "3.3.0.LATEST"
20                }
21            ]
22        },
23        {
24            "path": "pkg-c-workspace",
25            "package": "pkgC",
26            "versionName": "ver 2.1",
27            "versionNumber": "2.1.0.NEXT",
28            "default": false
29        },
30        {
31            "path": "pkg-d-workspace",
32            "package": "pkgD",
33            "versionName": "ver 1.1",
34            "versionNumber": "1.1.0.NEXT",
35            "default": false,
36            "dependencies": [
37                {
38                    "package": "pkgA",
39                    "versionNumber": "3.3.0.LATEST"
40                },
41                {
42                    "package": "pkgB",
43                    "versionNumber": "3.12.0.LATEST"
44                },
45                {
46                    "package": "pkgC",
47                    "versionNumber": "2.1.0.LATEST"
48                }
49            ]
50        }
51    ],
52    "namespace": "",
53    "sfdcLoginUrl": "https://login.salesforce.com",
54    "sourceApiVersion": "44.0",
55    "packageAliases": {
56        "pkgA": "0HoB00000008Oq6KAE",
57        "pkgB": "0HoB00000008OqBKAU",
58        "pkgC": "0HoB00000008OqGKAU",
59        "pkgD": "0HoB00000008OqGKAQ"
60    }
61}
pkgD (ID=04txx000000082hAAA) をインストールする前に次の SOQL クエリを実行して連動関係を確認します。通常、ユーザ名は、ロック解除済みパッケージのインストール先の登録者組織です。
1sfdx force:data:soql:query -u {USERNAME} -t 
2   -q "SELECT Dependencies FROM SubscriberPackageVersion 
3       WHERE Id='04txx000000082hAAA'" --json
クエリを実行すると、pkgA、pkgB、pkgC の (04t) ID がこの順序で含まれている次の出力が表示されます。
1"Dependencies":{"Ids":[
2   {"subscriberPackageVersionId":"04txx000000080vAAA"},
3   {"subscriberPackageVersionId":"04txx000000082XAAQ"},
4   {"subscriberPackageVersionId":"04txx0000000AiGAAU"}]}