Force.com CLIをインストールして試してみた
開発者の方は、Force.comのデータベースをいちいちブラウザを開いたりせずにコマンドラインから確認・操作したいと思う事があるかもしれません。
試してみました。
Go
go言語環境
Force.com CLIはGOで動作しているので、go言語が動くようにする。
Homebrewによるインストール
homebrew自体をアップデートしてインストールする。
$ brew update
$ brew install go
確認
$ go version
go version go1.4.2 darwin/amd64
$GOPATH
パッケージ管理のためのパスを通すよう。
$HOME/.go/${GO_VERSION}
のパスにするのがいいようなんで、それにならう。
$ mkdir -p ~/.go/1.4/
zsh使ってるので、.zshrc
にパスを追加。
export GOPATH=$HOME/.go/1.4
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
再読み込みしておく。
$ source ~/.zshrc
Mercurial
Mercurial(マーキュリアル)は、クロスプラットフォームの分散型バージョン管理システム。 Pythonで実装されている(ただし、バイナリdiffに関してはC言語で実装されている)。 Mercurialはコマンドラインプログラムである。 全てのコマンドは hgで始まる。
http://ja.wikipedia.org/wiki/Mercurial
Python
Pythonで動作するとのことなので、Pythonが必要。
自分の環境には入っていた。
$ python -V
Python 2.7.9
必要な場合は、homebrewでインストール出来るよう。
$ brew install python
pip
あと、パッケージ管理のためにpip
が必要。
これも入っていた。
$ pip -V
pip 6.1.0 from /usr/local/lib/python2.7/site-packages/pip-6.1.0-py2.7.egg (python 2.7)
インストールする場合は以下。
$ brew install pip
ただ、最新版ではなさそうだったので、アップデート。
$ pip install --upgrade pip
アップデート出来た。
$ pip -V
pip 7.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
Mercurialのインストール
で、ようやく、Mercurial
のインストール。
$ pip install --upgrade pip
...
Successfully installed mercurial-3.4
これでようやく整った。
Force.com CLI
インストール
$ go get -u github.com/heroku/force
エラーが出た。
1 2 |
|
エラー回避
どうやら関連プラグイン?のとあるファイルが悪さをしているとかなんとか。
以下にあるファイルをリネームして退避させておく。
$ cd /Users/YOUR_NAME/.go/1.4/src/github.com/ddollar/config
$ mv windows.go _windows.go
$ go get .
これでエラーが回避された状態でプラグイン?のインストールが完了したので、
あらためてインストール。
$ go get -n github.com/heroku/force
入った。
Compiling from source not working · Issue #138 · heroku/force
ログイン
$ force login
以下のように認証を求められるので、許可。
許可すると以下の画面になって接続完了。
$ force login
Logged in as 'YOUR-EMAIL'
SELECT
とりあえず、select文でデータ取得
1 2 3 4 5 6 |
|
カスタム項目の追加
コマンドからカスタム項目の追加も可能。
だけど、エラーが。
$ force field create User__c Due:DateTime
Attrs: <invalid Value>
panic: reflect: call of reflect.Value.Type on zero Value
...
どうやら、型名を小文字で入れる必要があるよう。
Error when calling force field create · Issue #52 · heroku/force
1 2 3 4 5 6 7 8 9 10 11 |
|
この指定方法だと、フィールド名とAPI参照名を別々に出来ない、、かも。
利用方法
$ force
でヘルプを表示。
さらに、コマンドをそのまま打つと使いと例も表示してくれる。
先ほどの、field
だとこんな感じ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
参考
Force.com CLI
Force.com CLI – コマンドラインインタフェース | Salesforce Developers Japan Blog
Salesforce – ターミナルからApexを実行できるforce.com CLIの使い方 – Qiita
golang の環境作った – ちなみに
Macでgo言語開発環境を作る – Qiita
homebrewを使ってMercurialをインストールする | Ken's blog @teaplanet
Python – Macでpipのアップデートでエラー – Qiita