詳細情報:
メタデータ API を使用したレポートまたはダッシュボードの一括移動
Lightning Experience では、レポートやダッシュボードを別のフォルダーやサブフォルダーに移動できます。レポートやダッシュボードを一括移動する場合は、メタデータ API を使用します。
たとえば、「Some Old Deprecated Folder (廃止済みの旧フォルダー)」フォルダーに「My Accounts Report (私の取引先レポート)」と「My Opty Report (私の商談レポート)」という 2 つのレポートが保存されているとします。「My Accounts Report (私の取引先レポート)」は「Accounts (取引先)」という新規フォルダーに移動し、「My Opty Report (私の商談レポート)」は新しい「Opportunities (商談)」フォルダーに移動することにします。
この例では、レポートおよびダッシュボード REST API を使用して、移動するレポートの詳細を取得し、メタデータ API を使用してレポートを移動します。(ダッシュボードの場合もプロセスは同じです)。レポートおよびダッシュボード REST API をコールするには、Postman または cURL を使用できます。メタデータ API を実行するには、Visual Studio Code 向け Salesforce 拡張機能または Salesforce CLI を使用できます。force.com ANT 移行ツールを使用して、同様のプロセスに従うことができます。
- レポートおよびダッシュボード REST API レポートリソースの PATCH メソッドを使用して、レポートのリストを取得します。
- リストを検索し、移動するレポートの API 参照名とそのレポートが含まれるフォルダーの ID を取得します。
- フォルダー操作の GET メソッドでフォルダー ID を使用してフォルダーの API 参照名を取得します。
-
フォルダーとファイルの API 参照名をメンバーとして使用して、
package.xmlマニフェストを作成します。<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <name>Report</name> <members>Some_Old_Deprecated_Folder/My_Accounts_Report_eQ</members> <members>Some_Old_Deprecated_Folder/My_Opty_Report_CO</members> </types> <version>43.0</version> </Package> -
メタデータ API
retrieve()コールを使用して、レポートが含まれるパッケージを取得します。 -
パッケージを展開します。
-
展開したパッケージで、新しいフォルダーとファイル構造を作成します。
-
package.xmlファイルマニフェストで、展開したパッケージで行った変更と同じようにフォルダー構造を変更します。<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>Accounts/My_Accounts_Report_eQ</members> <members>Opportunities/My_Opty_Report_CO</members> <name>Report</name> </types> <version>43.0</version> </Package> -
Lightning Experience で新規フォルダーを作成します。
-
リリース用のパッケージを作成します。
このコマンドを実行すると、unpackaged という展開されたパッケージディレクトリの内容に基づいて ZIP ファイルが作成されます。
zip -r move_reports.zip unpackaged/ -
メタデータ API
deploy()コールを使用して、移動したレポートが含まれるパッケージをリリースします。
移動が完了します。「Some Old Deprecated Folder (廃止済みの旧フォルダー)」が空になり、UI で削除できます。
