deploy()
構文
使用方法
このコールを使用して、ファイル表現のコンポーネントを取得し、ファイル表現のコンポーネントが表すコンポーネントを作成、更新、または削除することにより、組織にファイル表現のコンポーネントをリリースします。
API バージョン 29.0 では、Salesforce は、リリース状況プロパティを改善し、deploy() コール後にリリースに関する情報を取得するために checkStatus() を使用する要件を削除しました。Salesforce では、API バージョン 28.0 以前で deploy() を使用する場合の checkStatus() の使用を引き続きサポートします。
API バージョン 29.0 以降の場合、次の手順に従って、パッケージ化されたコンポーネントまたはパッケージ化されていないコンポーネントをリリース (作成または更新) します。
- deploy() コールを発行して、非同期リリースを開始すると、AsyncResult オブジェクトが返されます。id 項目の値をメモし、次のステップで使用します。
- checkDeployStatus() コールの発行を、返される DeployResult の done 項目がコールの完了を示す true になるまでループします。DeployResult オブジェクトには、deploy() コールを使用して開始された進行中または完了済みのリリースに関する情報が含まれます。checkDeployStatus() をコールするとき、最初のステップの AsyncResult オブジェクトから id 値を渡します。
API バージョン 28.0 以前の場合、次の手順に従って、パッケージ化されたコンポーネントまたはパッケージ化されていないコンポーネントをリリース (作成または更新) します。
- deploy() コールを発行して、非同期リリースを開始すると、AsyncResult オブジェクトが返されます。コールが完了すると、done 項目に true が含まれます。ほとんどの場合、コールはすぐに完了しないため最初の結果に記述されません。完了している場合、返された id 項目の値を書き留め、次のステップを省略します。
- コールが完了していない場合、ループ内で checkStatus() コールを発行します。このループ内で、前のステップで deploy() コールから返された AsyncResult オブジェクトの id 項目の値を使用します。done 項目に true が含まれるまで、返される AsyncResult オブジェクトを確認します。deploy() コールを完了するまでにかかる時間は、リリースする zip ファイルのサイズによって異なります。そのため、zip ファイルのサイズが大きいほど、反復間の待機時間を長くします。
- 最初のステップで返された id 値を使用して、checkDeployStatus() コールを発行し、deploy() コールの結果を取得します。
処理中または過去 30 日間で完了したリリースの状況を追跡するには、[設定] から [クイック検索] ボックスに「リリース状況」と入力し、[リリース状況] を選択します。
進行中またはキュー内のリリースは、リリースの横にある [キャンセル] をクリックしてキャンセルできます。リリースが完全にキャンセルされるまで、リリースの状況は Cancel Requested になります。キャンセルされたリリースは、[失敗] セクションにリストされます。
package.xml ファイルは、取得またはリリースするすべてのコンポーネントをリストするプロジェクトマニフェストです。package.xml を使用して、コンポーネントを追加できます。コンポーネントを削除するには、別のマニフェストファイルを追加します。「組織からのコンポーネントの削除」を参照してください。
引数
| 名前 | 型 | 説明 |
|---|---|---|
| zipFile | base64 | Base 64 で符号化されたバイナリデータ。クライアントアプリケーションは、バイナリデータを base64 に符号化する必要があります。 |
| deployOptions | DeployOptions | リリースするパッケージまたはファイルを特定するためのオプションをカプセル化します。 |
DeployOptions
このコールでは次のリリースオプションを選択できます。
| 名前 | 型 | 説明 |
|---|---|---|
| allowMissingFiles | boolean | package.xml に指定されているファイルが .zip ファイル内に存在しない場合、リリースを継続するかどうかを指定します。 |
| autoUpdatePackage | boolean | ファイルが .zip ファイルにはあるが、package.xml で指定されていない場合、ファイルを自動的にパッケージに追加するかどうかを指定します。.zip ファイルを含む package.xml が更新された場合は、retrieve() が発行されます。 本番組織へのリリースでは、この引数を設定することはできません。 |
| checkOnly | boolean | デフォルトは false です。コンポーネントを対象組織に保存せずにコンポーネントのテストリリース (検証) を実行するには、true に設定します。検証では、リリースで生成されるテストの結果を確認できますが、変更はコミットされません。テストに合格して検証が完了したら、テストを再実行することなくリリースできます。「deployRecentValidation()」を参照してください。 |
| ignoreWarnings | boolean |
警告を無視してリリースの正常な完了を許可するか (true)、否か (false) を示します。デフォルトは false です。 警告の DeployMessage オブジェクトには次の値が含まれます。
警告が発生し、ignoreWarnings が true に設定されている場合は、DeployMessage の success 項目は true です。ignoreWarnings が false に設定されている場合、success は false に設定され、警告はエラーとして処理されます。 この項目は、API バージョン 18.0 以降で使用できます。バージョン 18.0 より前では、警告とエラーは区別されていませんでした。すべての問題はエラーとして処理され、リリースの成功を妨げていました。 |
| performRetrieve | boolean | retrieve() コールをリリース直後に実行するか (true)、否か (false) を示します。リリース直後のものをすべて取得するには true に設定します。 |
| purgeOnDelete | boolean |
true の場合、destructiveChanges.xml マニフェストファイルの削除されたコンポーネントはごみ箱に保存されません。代わりに、即座に削除の対象となります。 この項目は、API バージョン 22.0 以降で使用できます。 このオプションは Developer Edition 組織または Sandbox 組織でのみ機能しますが、本番組織では機能しません。 |
| rollbackOnError | boolean | エラーが発生した場合、ロールバックを完了するか (true)、否か (false) を示します。false の場合、エラーなしで実行できるアクションはすべて実行され、残りのアクションではエラーが返されます。本番組織にリリースする場合は、このパラメータは true に設定されている必要があります。デフォルトは、false です。 |
| runAllTests | boolean | (廃止。API バージョン 33.0 以前でのみ使用可能) この項目のデフォルトは false です。インストール済みの管理パッケージから作成されたテストを含むすべての Apex テストをリリース後に実行するには、true に設定します。 |
| runTests | string[] | リリース時に実行される Apex テストのリスト。クラス名 (1 インスタンスあたり 1 つの名前) を指定します。また、クラス名にはドット表記で名前空間を指定することもできます。詳細は、「リリースでのテストのサブセットの実行」 を参照してください。 このオプションを使用するには、testLevel を RunSpecifiedTests に設定します。 |
| singlePackage | boolean | 指定された .zip ファイルが指し示すディレクトリ構造が 1 つのパッケージを持つか (true)、パッケージのセットを持つか (false)) を示します。 |
| testLevel | TestLevel (string 型の列挙) | 省略可能。リリースの一環として実行するテストを指定します。テストレベルは、リリースパッケージに存在するコンポーネントの種類に関係なく強制適用されます。有効な値は、次のとおりです。
テストレベルを指定しないと、デフォルトのテスト実行動作が使用されます。「リリースでのテストの実行」を参照してください。 この項目は、API バージョン 34.0 以降で使用できます。 |
応答
サンプルコード —Java
このサンプルでは、zip ファイルでコンポーネントをリリースする方法を示します。zip ファイルの取得方法についての詳細は、retrieve() のサンプルコードを参照してください。