Ruboty を Github Private で動かす

何箇所かハマったので記録しておく

http://kentana20.hatenablog.com/entry/2014/11/02/180812

基本的には上記の記事にそって行けば大丈夫なんだけど、なんかしょかハマった。
具体的には、readme の deploy ボタンで連携できないことだ。
ただ、問題なく連携はできる。
heroku の deploy タブ の Github のところから private に clone した(fork は不可なので)やつを
指定すれば連携ができる。
あと、dotenv の設定が必要なので、環境変数の設定のために

1
heroku config:add SLACK_PASSWORD='' SLACK_ROOM="" SLACK_TEAM="" SLACK_USERNAME=""

というような感じで設定する。

あと、Add ons で Redis to go を検索して追加する。この時カードを登録してなければ、クレカ登録が促されるので、がんばる。

password の部分は xmpp の slack パスワードを使うことに注意する(https://xxx.slack.com/account/gateways) 。

bundle exec ruboty を起動させるところ(heroku の resources free dyno で edit して 変更して保存する)。
fork した ruboty-template が依存している xrc の version が 0.1.4 で、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parent.rb:41:in `each'
p/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:249:in `block in on_features_received': undefined method `name' for "   ":REXML::Text (NoMethodError)
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parent.rb:41:in `each'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:247:in `on_features_received'
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parsers/sax2parser.rb:142:in `call'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:176:in `on_received'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:217:in `block in connection'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/parser.rb:78:in `call'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/parser.rb:78:in `consume'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/parser.rb:49:in `end_element'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/parser.rb:26:in `block (2 levels) in bind'
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parsers/sax2parser.rb:142:in `block in parse'
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parsers/sax2parser.rb:142:in `parse'
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parsers/sax2parser.rb:142:in `each'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/connection.rb:38:in `parse'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/connection.rb:34:in `start'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/connection.rb:14:in `connect'
from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-1.0.4/lib/ruboty/robot.rb:45:in `adapt'
from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:24:in `connect'
from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-slack-0.1.7/lib/ruboty/adapters/slack.rb:81:in `connect'
from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-slack-0.1.7/lib/ruboty/adapters/slack.rb:14:in `run'
from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-1.0.4/lib/ruboty/robot.rb:22:in `run'
from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-1.0.4/bin/ruboty:6:in `<top (required)>'
from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-1.0.4/lib/ruboty/commands/run.rb:5:in `call'
from /app/vendor/bundle/ruby/2.0.0/bin/ruboty:23:in `load'
from /app/vendor/bundle/ruby/2.0.0/bin/ruboty:23:in `<main>'

こんな感じのエラーがでたので、 xrc のバージョンが古いっぽかったので
Gemfile.lock の version を 0.1.8 に編集して commit したらいけた。

以上。

このエントリーをはてなブックマークに追加