SalesForce CLIでApexを取得

2018-10-17

#Salesforce

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

Salesforce 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

CLIコマンド参考

補足

SFDX

SalesforceCLIは、Salesforce Developer Experience(SFDX)という開発体制で真価を発揮するようです。

Salesforce Developer Experience による作業方法の変化

使いこなすためにはスクラッチ組織など、学ぶことは多そう。

ForceCode

ググるとVisual Studio CodeアドオンのForceCodeの利用例が多数ありました。
私の環境ではうまく機能せず断念。

 

開発者が多数いらっしゃる組織では、CLI利用が一般的なのでしょうか。
楽しそうでもあり、大変そうでもありそう。

© kdtakahiro 2018