2024.04.19
VSCode×Salesforce CLI でカスタムメタデータレコードを一括登録したい!
目次
via pixabay.com
はじめに
カスタムメタデータとは、カスタマイズ可能、リリース可能、パッケージ化可能、アップグレード可能なアプリケーションメタデータです。
作成したメタデータ型に基づいて、レコードを作成することができます。
カスタムメタデータのレコードは、設定画面から作成することができます。
しかし、設定画面からはレコードを1件ずつしか登録することができず、大量のレコードを登録するには非常に時間と手間がかかります。
また、カスタムメタデータ型は、Data Loaderを利用してCSVでデータのインサートを行うことができないため、何かいい方法がないかと調査してみました。
Salesforceリファレンスを参照すると、CLIコマンドを使用して、CSVファイルで一括登録できる方法がありました。
そこで、今回は、CLIコマンドを使用してカスタムメタデータレコードを一括登録する方法と登録する上での考慮事項についてご紹介します。
作成したメタデータ型に基づいて、レコードを作成することができます。
カスタムメタデータのレコードは、設定画面から作成することができます。
しかし、設定画面からはレコードを1件ずつしか登録することができず、大量のレコードを登録するには非常に時間と手間がかかります。
また、カスタムメタデータ型は、Data Loaderを利用してCSVでデータのインサートを行うことができないため、何かいい方法がないかと調査してみました。
Salesforceリファレンスを参照すると、CLIコマンドを使用して、CSVファイルで一括登録できる方法がありました。
そこで、今回は、CLIコマンドを使用してカスタムメタデータレコードを一括登録する方法と登録する上での考慮事項についてご紹介します。
CLIコマンドについて
Salesforce コマンドラインインターフェース (CLI) を使用することで、カスタムメタデータ型の作成、項目の生成、レコードの作成、CSV ファイルからのレコードの作成、および sObject からのカスタムメタデータ型の生成を行うことができます。
CLI の設定、開発者ハブの設定、プロジェクトの作成、およびスクラッチ組織の作成についての詳細は、『Salesforce CLI 設定ガイド』をご参照ください。
CLI の設定、開発者ハブの設定、プロジェクトの作成、およびスクラッチ組織の作成についての詳細は、『Salesforce CLI 設定ガイド』をご参照ください。
カスタムメタデータレコードの一括登録
1. カスタムメタデータオブジェクトの作成
「設定画面」のメニュー項目から「カスタムコード 」>「カスタムメタデータ型」を選択します。
カスタムメタデータオブジェクトを作成し、任意のカスタム項目を作成します。
カスタムメタデータオブジェクトを作成し、任意のカスタム項目を作成します。
2. CSVファイルの作成
下記のフォーマットでCSVファイルを作成します。
ヘッダー | Nameとカスタム項目のAPI参照名 |
---|---|
文字コード | UTF-8 |
BOM | なし |
改行コード | CRLF |
【 考慮事項 】
● cmdt generate records コマンドを使用する場合、CSVファイルの「Name」列に設定した値が「MasterLabel」および「DeveloperName」になります。「Name」は必須列で、「Name」列の値は半角英数で設定する必要があります。
● 「MasterLabel」および「DeveloperName」はCSVファイルのヘッダーとして識別されません。
● cmdt generate records コマンドを使用する場合、CSVファイルの「Name」列に設定した値が「MasterLabel」および「DeveloperName」になります。「Name」は必須列で、「Name」列の値は半角英数で設定する必要があります。
● 「MasterLabel」および「DeveloperName」はCSVファイルのヘッダーとして識別されません。
3. カスタムメタデータ情報の取得
Visual Studio Code(以下、VSCode)のOrg Browserを開き、「Custum Objects」から作成したカスタムメタデータオブジェクトAPI参照名 + __mdtのメタデータを取得します。
4. CLIコマンド実行
VSCodeのターミナルにて、下記のコマンドを実行します。
sf cmdt generate records --csv path/to/my.csv --type-name MyCmdt
CLIコマンド
path/to/my.csv : CSVファイルのファイルパス
MyCmdt : カスタムメタデータオブジェクトAPI参照名 ※ __mdtは不要
MyCmdt : カスタムメタデータオブジェクトAPI参照名 ※ __mdtは不要
5. xmlファイルを組織にデプロイ
コマンドを実行後、下記のファイルパスにXMLファイルが作成されます。
\force-app\main\default\customMetadata
XMLファイルパス
作成されたXMLファイルを複数選択し、デプロイすることで、カスタムメタデータレコードが一括登録されます。
6. 作成されたカスタムメタデータレコードの確認
「設定画面」のメニュー項目から「カスタムコード 」>「カスタムメタデータ型」を選択し、作成されたレコードを確認しましょう。
おわりに
今回は、カスタムメタデータレコードを一括登録する方法についてご紹介しました。
VSCodeからCLIコマンドを使用して一括登録することで、大量のカスタムメタデータレコードを登録したいときに、手間と時間を削減できるかと思います。
ご紹介したCLIコマンドの他にも、Salesforce CLI コマンドリファレンスにカスタム メタデータ タイプとそのレコードを生成する方法が記載されているので、ぜひご参照ください。
また、リリース管理ツール「Flosum」を利用すれば、カスタムメタデータレコードの登録がスムーズに行えます。
Flosumの機能については、Flosumのwebサイトをご覧ください。
https://www.terrasky.co.jp/flosum/
最後までご覧いただきありがとうございました。
VSCodeからCLIコマンドを使用して一括登録することで、大量のカスタムメタデータレコードを登録したいときに、手間と時間を削減できるかと思います。
ご紹介したCLIコマンドの他にも、Salesforce CLI コマンドリファレンスにカスタム メタデータ タイプとそのレコードを生成する方法が記載されているので、ぜひご参照ください。
また、リリース管理ツール「Flosum」を利用すれば、カスタムメタデータレコードの登録がスムーズに行えます。
Flosumの機能については、Flosumのwebサイトをご覧ください。
https://www.terrasky.co.jp/flosum/
最後までご覧いただきありがとうございました。
参考
30 件