hubot で環境変数使う話

昨日に引き続きこんばんわ

hubot の shell モードで環境変数使えるのかなーとか気になったのでまとめ(すごく簡単な話です)

heroku に環境変数登録するときはこんな感じで登録できるので Heroku で動かすときはこのへんの環境変数は有効になっているんで特に問題ないんですが、ローカル環境でテストできないなーって思いながらいちいち Heroku に deploy してから試してました (今思うとすごいアホらしい)

$ heroku config:add HEROKU_URL=<url>
$ heroku config:add HUBOT_SLACK_TOKEN=<token>
$ heroku config:add HUBOT_SLACK_TEAM=<team>
$ heroku config:add HUBOT_SLACK_BOTNAME=<botname>

今回のテストコードはこんなかんじで

module.exports = (robot) ->
   robot.respond /test$/i, (msg) ->
     console.log(process.env.HUBOT_ENV_TEST_VAR)

とくに何もしないで実行すると

Hubot> hubot test
Hubot> undefined

こんなかんじです。

まあ当たり前なんですが。。。

ちょいと調べてみたら environ がどーのこーのっていってたのでとりあえず環境変数に入れてみる

$ export HUBOT_ENV_TEST_VAR=hogehoge

$ env | grep HUBOT_ENV
HUBOT_ENV_TEST_VAR=hogehoge

そして hubot うごかす

Hubot> hubot test
hogehoge
Hubot>

こんなかんじで hubot で環境変数扱えました。

ちゃんちゃん