1. やっていたこと
- Salesforce CLIで第二世代管理パッケージのバージョンを作成しようとした
sf package version create --package PACKAGE_NAME --code-coverage --installation-key KEY --wait 10
output
Version create.... ⣷
Version create.... done
-
Version create.... done
と表示されてはいるが...コマンドの戻り値は1
だったので何かしらエラーになっている様子
% echo $?
1
- パッケージバージョンの一覧を表示してみても新しいバージョンは表示されない
sf package version list
- 正しくパッケージバージョンが作成された場合は以下のような表示がされる
output
Version create.... Create version status: Success
Successfully created the package version [08****************]. Subscriber Package Version Id: 04****************
Package Installation URL: https://login.salesforce.com/packaging/installPackage.apexp?p0=04****************
As an alternative, you can use the "sf package:install" command.
2. 試したこと
- 今回実施したコマンドには以下のオプションがあるので、それを付与して表示が変わるか試してみた
--json
--verbose
-
--json
を付与した場合
sf package version create --package PACKAGE_NAME --code-coverage --installation-key KEY --wait 10 --json
output
{
"code": 1,
"context": "PackageVersionCreateCommand",
"commandName": "PackageVersionCreateCommand",
"message": "この組織は 1 日の制限に達しているため、package2 バージョンの作成要求に失敗しました",
"name": "REQUEST_LIMIT_EXCEEDED",
"status": 1,
"stack": "REQUEST_LIMIT_EXCEEDED: この組織は 1 日の制限に達しているため、package2 バージョンの作成要求に失敗しました\n at HttpApi.getError (/Users/${username}/.local/share/sf/node_modules/jsforce/lib/http-api.js:252:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /Users/${username}/.local/share/sf/node_modules/jsforce/lib/http-api.js:122:23\n at async Tooling.create (/Users/${username}/.local/share/sf/node_modules/jsforce/lib/connection.js:796:133)\n at async PackageVersionCreate.packageVersionCreate (/Users/${username}/.local/share/sf/node_modules/@salesforce/packaging/lib/package/packageVersionCreate.js:486:30)\n at async PackageVersion.create (/Users/${username}/.local/share/sf/node_modules/@salesforce/packaging/lib/package/packageVersion.js:92:30)\n at async PackageVersionCreateCommand.run (/Users/${username}/.local/share/sf/node_modules/@salesforce/plugin-packaging/lib/commands/package/version/create.js:60:24)\n at async PackageVersionCreateCommand._run (/Users/${username}/.local/share/sf/node_modules/@oclif/core/lib/command.js:117:22)\n at async Config.runCommand (/usr/local/lib/sf/node_modules/@oclif/core/lib/config/config.js:329:25)\n at async run (/usr/local/lib/sf/node_modules/@oclif/core/lib/main.js:89:16)",
"exitCode": 1,
"warnings": []
}
-
--verbose
を付与した場合
sf package version create --package PACKAGE_NAME --code-coverage --installation-key KEY --wait 10 --verbose
output
Version create...
Error (1): この組織は 1 日の制限に達しているため、package2 バージョンの作成要求に失敗しました
- どちらのオプションを付与した場合でも、エラー内容が表示された
- 今回のエラーは、package2バージョンの作成要求に対する1日の制限に達したためということが分かった
3. わかったこと
- 通常の表示でエラー内容が分からない場合には、
--json
や--verbose
を付与すると良さそう - 上記のオプションを付与しなくても、エラー時にはエラー内容を表示するようになってほしい
4. Appendix
4.1 REQUEST_LIMIT_EXCEEDED: この組織は 1 日の制限に達しているため、package2 バージョンの作成要求に失敗しました
- Trailblazer Communityに以下の投稿があった
What is the output that you are seeing when you run the force:api:limits:display for Package2VersionCreates ? The number of package versions that you can create in a day is equal to the daily scratch org limit.
- 以下のコマンドを実行して確認してみた
sf limits api display -o DEVHUB
output
Name Remaining Max
─────────────────────────────────────────── ───────── ─────────
~~~ 省略 ~~~
Package2VersionCreates 0 6
~~~ 省略 ~~~
-
Package2VersionCreates
という制限があり、最大6
で残り0
であることが分かった
おわり。