Salesforce のカスタム表示ラベルには、項目のように [使用場所] ボタンがありませんが、Tooling API の ExternalString オブジェクトと MetadataComponentDependency オブジェクトをクエリすることで、組織内でカスタム表示ラベルが使用されている場所を列挙することができます。ただし、MetadataComponentDependency は、参照元のメタデータの Id を直接指定する必要があります。つまり、「カスタム表示ラベル」のメタデータ型やカスタム表示ラベルの名前では、直接使用場所を辿ることができません。そこで、愚直な方法ですが、カスタム表示ラベルの設定オブジェクトをクエリし、その Salesforce Id 1 件毎に、MetadataComponentDependency をクエリし、結果をまとめる方法を取ります。
ソースコード
Salesforce CLI Plugin に…とも思いましたが、用途が限定的で軽量だったので Python で書きました。やっていることは単にクエリして CSV を出力するだけなので言語は何でも良いです。
https://gist.github.com/shunkosa/2cb44fed3c751bee1e92972c60c4303b
使い方
- 上記のソースコードを適当な場所にダウンロードします。
- 17行目の
sf = Salesforce(username='YOUR_USERNAME', password='YOUR_PASSWORD', security_token='')
をご自身の環境の値に変更します。Sandbox の場合は、
(username='YOUR_USERNAME', password='YOUR_PASSWORD', security_token='', domain='test')
としてください。 - Python ファイルを実行すると同じフォルダに
customlabels_YYYYMMDD_HHMM.csv
が出力されます。
例
Apex だけであまり良い感じの例ではないのですが、fflib-apex-common のカスタム表示ラベルの使用場所はこんな感じになります。