5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UniposAdvent Calendar 2024

Day 25

VSCodeでSalesforceカスタムメタデータの管理、リリースを楽にする

Posted at

はじめに

カスタムメタデータは便利

SOQLで検索でき、Apexやフローで利用可能、Sandboxで作って整えてリリースもできるカスタムメタデータ。大変便利で筆者的には利用頻度が増えています。

得に、業務データではないシステム系のデータなんだけど、あとからパターンの追加や変更がありそうなものみたいなのが、うまく活用できるなと感じています。

今回の背景

今回、数十件単位のデータ件数の追加・更新の必要がある要件が出てきました。
今までSalesforce上のコンソールからちまちまデータを追加したり編集していましたが、流石にそれではちょっと面倒。しかもマスタデータは開発チームとは違う業務チームが定期的にチェックや再検討ができる状態にしたいと。

ではエクセルなどでまずはマスタ管理してもらって、変更があった場合に一括変更をできないかと方法を探しており今回の流れに辿り着きました。

ちょっとしたコツやハマりどころもあったのでそれを踏まえて今回できた登録・更新の流れを書いていきます。

ざっくりとした作業フロー

今回の前提

  • Salesforce CLIがインストールされていること
  • カスタムメタデータの定義は先にできている状態とします。

データ定義はサンプルとして、顧客の社員人数によりサイズ名のラベルをつけるための判定用のデータです
スクリーンショット 2024-12-24 17.29.48.png

スクリーンショット 2024-12-24 17.25.53.png

VSCodeでの準備:定義の取得

※VSCodeに「Salesforce Extensions for VS Code」がインストールされている事、組織と接続済みが前提です。

  1. 左のバーメニューから「Org Browser」>「Custom Object」に対象のカスタムメタデータの定義を探す
  2. カスタムメタデータ名の右の雲に↓ボタンを押下して定義をダウンロード
    スクリーンショット 2024-12-24 17.32.31.png
  3. 定義が無事取得できると「force-app/main/default」の「object」配下に定義がダウンロードされます
    スクリーンショット 2024-12-24 17.34.33.png

エクセルからCSVファイル作成

今回作成したデータ

いくつかルールがあります

  • 頭の項目はName固定
    • 更新時は主キーの扱いになる。標準項目のカスタムメタデータレコード名、表示ラベルに登録される
  • 文字コードはUTF8、改行はCRLF
  • BOM付きcsvは不可

BOM付きcsvは不可

ここはどうやっても良いのですがBOMがつかないよう注意してください。
私の場合、エクセルからテキストにコピペ保存して下記コマンド(おっさんなので原始的に、、、)

cat hoge.txt | sed 's/\t/"\t"/g' | sed 's/"\t"/","/g' | sed 's/^/"/g' |  sed 's/$/"/g' 
 > data.csv

出来上がったcsvファイルはこんな感じ

"Name","small__c","max__c","SizeName__c"
"Rec01","1","99","小企業"
"Rec02","100","999","中企業"
"Rec03","1000","99999999","大企業"

VSCodeでメタデータ作成

  1. VSCodeの「ターミナル」からコマンド実行するとレコードのデータが作成されます
% sf cmdt generate records --csv /path/to/data.csv --type-name CustomerSizeAssign

 ›   Warning: @salesforce/cli update available from 2.61.8 to 2.70.7.
Created custom metadata type records from './data.csv' at 'force-app/main/default/customMetadata'.
% 

データはレコード毎に作成され
スクリーンショット 2024-12-24 18.31.34.png
XML形式になっています。
スクリーンショット 2024-12-24 18.31.49.png

組織にアップロード

あとは組織にあげて完了。
先頭の項目が同じ場合は更新されます。

  1. 作成されたファイル(今回は3つ)を選択
  2. 「組織にアップロード」からアップロード

これでカスタムメタデータにレコードが追加されます。

一括追加や一括更新には便利ですので活用してみてください。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?