crmprogrammer38の日記

主にDWHやSalesforceのプログラムメモです。

【Java】beanshellでSalesforceのメタデータ削除ツールを作りました

メタデータを削除したい時があります。

  • 間違えてカスタム項目をたくさん作ってしまった
  • キューを作ると自動で作成されるビューを削除する

こんな時にまとめてメタデータを削除できるツールです。

ツールはbeanshellで作成しています。

 

ダウンロードはこちらからです。

 

通信設定はスクリプトの次の箇所を変更します。

    //1.httpプロキシ情報の入力
    String proxyhost = null;
    Integer proxyport = null;
    String ntlmdomain = null;
    String proxyuser = null;
    String proxypassword = null;


    //2.Salesforceログイン情報の入力
    String sfendpoint = "https://test.salesforce.com/services/Soap/u/40.0";
    String sfusername = "sample@username";
    String sfpassword = "samplepassword";

 

そして、削除したいコンポーネントは、メタデータタイプとともに次のように指定してください。

    //3.削除するメタデータ情報の入力
    //配列に、メタデータタイプと削除するメタデータ物理名を指定します。
    ArrayList fullNames = new ArrayList();

    //以下設定例
    fullNames.add( new String[]{"CustomObject" , "SampleObject__c"} );
    fullNames.add( new String[]{"ListView" , "Opportunity.SampleViewName"} );
    fullNames.add( new String[]{"CustomLabel" , "SampleLabel"} );
    fullNames.add( new String[]{"CustomField" , "Account.SampleField__c"} );

メタデータタイプと、対象コンポーネントを指定すると削除されます。

 

設定ファイルを読み込んで、その設定ファイルに従って処理を組もうとすると、設定ファイルの仕様が発生してしまうと思います。

beanshellであればソースコードをそのまま変更できるので設定ファイルいらずで便利だなと思います。