LoginSignup
4
3

More than 1 year has passed since last update.

Salesforce のカスタム表示ラベルの使用場所を一覧化する

Last updated at Posted at 2023-02-13

Salesforce のカスタム表示ラベルには、項目のように [使用場所] ボタンがありませんが、Tooling API の ExternalString オブジェクトと MetadataComponentDependency オブジェクトをクエリすることで、組織内でカスタム表示ラベルが使用されている場所を列挙することができます。ただし、MetadataComponentDependency は、参照元のメタデータの Id を直接指定する必要があります。つまり、「カスタム表示ラベル」のメタデータ型やカスタム表示ラベルの名前では、直接使用場所を辿ることができません。そこで、愚直な方法ですが、カスタム表示ラベルの設定オブジェクトをクエリし、その Salesforce Id 1 件毎に、MetadataComponentDependency をクエリし、結果をまとめる方法を取ります。

ソースコード

Salesforce CLI Plugin に…とも思いましたが、用途が限定的で軽量だったので Python で書きました。やっていることは単にクエリして CSV を出力するだけなので言語は何でも良いです。
https://gist.github.com/shunkosa/2cb44fed3c751bee1e92972c60c4303b

使い方

  1. 上記のソースコードを適当な場所にダウンロードします。
  2. 17行目の
    sf = Salesforce(username='YOUR_USERNAME', password='YOUR_PASSWORD', security_token='')
    をご自身の環境の値に変更します。Sandbox の場合は、
    (username='YOUR_USERNAME', password='YOUR_PASSWORD', security_token='', domain='test')
    としてください。
  3. Python ファイルを実行すると同じフォルダに customlabels_YYYYMMDD_HHMM.csv が出力されます。

Apex だけであまり良い感じの例ではないのですが、fflib-apex-common のカスタム表示ラベルの使用場所はこんな感じになります。
fflib.png

4
3
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
4
3