SalesForce CLIでApexを取得
2018-10-17
MavensMateがサポート終了になった後も、Apexを取得するために利用していたのですが、ついに起動しなくなりました。
エラーは"A JavaScript error occurred in the main process"
試行錯誤すれば解消できるかもしれませんが、無理やり利用を続けるのも不毛そう。
素直に公式のSalesfoce CLIで取得しました。
手順
1. Salesforce CLIをインストール
npmでインストールしました。
$ node --version
v9.1.0
$ npm install -g sfdx-cli
2. Apex取得
SandboxからApexClassをすべて取得。
# 1. Sandboxにログイン
# ... -aでエイリアスを作成(Apex取得時、取得先Salesforce環境を指定するために利用)
# ... -rでSandboxのログインURLを指定
# ... -sでデフォルトユーザ名を指定できるが、毎回取得先を指定する予定のため、未指定
$ sfdx force:auth:web:login -a myprj-sand -r https://test.salesforce.com
# ... ブラウザが起動して、Salesforceのログイン画面表示
# ... ログインする
Successfully authorized <mail address> with org ID <object id>
You may now close the browser
# ... ブラウザ閉じる
# 2. Salesforce DX Project作成
# ... Apex取得コマンド実行に、Projectが必要となるため作成
$ sfdx force:project:create -n myprj
# 3. Apex取得
# ... Projectディレクトリに移動
$ cd myprj
# ... Apexクラスのソースを全て取得
# ... -uでエイリアス指定
# ... -mで全ApexClass取得を指定
$ sfdx force:source:retirieve -u myprj-sand -m ApexClass
補足
SFDX
SalesforceCLIは、Salesforce Developer Experience(SFDX)という開発体制で真価を発揮するようです。
Salesforce Developer Experience による作業方法の変化
使いこなすためには スクラッチ組織など、学ぶことは多そう。
ForceCode
ググるとVisual Studio Codeアドオンの
ForceCodeの利用例が多数ありました。
私の環境ではうまく機能せず断念。
開発者が多数いらっしゃる組織では、CLI利用が一般的なのでしょうか。
楽しそうでもあり、大変そうでもありそう。