Force.com CLI -Metadata Importの使い方についてです。Force.com CLIにはSalesforceのメタデータをエクスポートすることができます。インポート機能を使えばメタデータをSalesforce組織に取り込むことができます。
利用例
例えばforce export機能を使ってカスタム表示ラベルのメタデータを取得し、別のSalesforce組織にインポートするというような使い方ができると思います。
エクスポート対象の組織にログイン
$ force login
エクスポートの実行
$ force export
これでカスタム表示ラベルのメタデータを取得できます。
エクスポート組織からログアウト
続いて別のSalesforce組織に切り替えます。まずはエクスポート対象の組織からログアウトします。
$ force logout -u <username>
ログアウト後はインポート対象の組織に『force login』をつかってログインし直します。
補足
Force.com CLIは別アカウントでログインしてもログアウトするまではログインしたまま残ります。activeコマンドで対象ユーザを切り替えるといったことも可能です。
$ force active -a <username>
※基本的には作業が終わったらログアウトを行うようにした方が良さそうです。
インポート組織にログイン
$ force login <import org usernamse>
インポート用ディレクトリに対象ファイルを用意する
エクスポートしたファイルをインポート用ディレクトリにコピーします。(インポートしたい情報のみで大丈夫です。)
package.xmlでインポート対象を指定します。
インポートを実行
※実行前に『force active』コマンドでアカウントを間違えたりしていないか確認するようにしておくと安心です。
次のコマンドでインポートを実行します。
$ force import
実行結果はこんな感じです。
インポート先の組織を確認してみるとカスタム表示ラベルが取り込まれていることを確認できます。
force importをつかったメタデータのインポートの流れはこんな感じです。
インポート時の注意点
force importを使えばSalesforceのカスタマイズ情報を簡単に取り込むことができます。ですが使い方を間違えると古いカスタマイズ情報で上書きしてしまう事故が発生しそうです。そんなトラブルを回避するために次の点に気をつけておくと良さそうです。
1. エクスポート用のメタデータは最新のものを持ってくる
エクスポートした後、知らない間に変更されてしまうと古い情報をインポートすることになってしまいます。エクスポートして時間のたったメタデータを対象にするのはやめておいたほうが良さそうです。
2. インポート対象のフォルダには必要なものだけいれる
例えばカスタム表示ラベルをインポートしたい場合、その他のメタデータをmetadataフォルダに残しておくと関係のないカスタマイズ情報をインポートしてしまう危険があります。package.xmlで対象を制御はできますがうっかり指定し忘れて全ファイルがインポート対象になってしまったというトラブルが考えられます。
基本的にはエクスポート、インポートは作業フォルダを用意してうっかり事故の起こらないように注意しておくといいと思います。あとは定期的にエクスポートしてGit管理するようにしておくと万が一トラブルが発生してしまったときでも復元しやすくなると思います。