Hubotと戯れる
Hubotインストール
$yum install npm $yum install nodejs
バージョンはこんな感じ
$node --version v0.10.28 $npm --version 2.5.0
で、必要なモジュールとか入れる
#npm install coffee-script hubot -g #npm install -g yo generator-hubot
で、このままhubot動かそうとするとやたら権限まわりで怒られる。
良く見ると npmでグローバルインストールすると`/usr/lib/node_modules`配下にインストールされてくるんだけど、なんか権限が軒並みこんな感じになってた。 nobody....
ll /usr/lib/node_modules/ | grep hubot drwxr-xr-x 9 nobody cy_admin 4096 2月 13 18:46 2015 hubot
yumでインストールしたやつは軒並みrootになっているんだけど。。
とりあえず、あとでインストールしたものは、`chown -R root. hubot`みたいに権限を合わせました。
このままでも権限のエラーがでるんだけど、どうやら、実行ユーザのホームディレクトリ配下に `.npm`ディレクトリがあって色々キャッシュしている様子。
この中できっと権限がごちゃごちゃしちゃってるのであろう。。。てことで削除したらひとまず準備完了
hubot起動など
$mkdir chako $cd chako $ yo hubot
テスト
$cd chako $./bin/hubot Hubot> hubot ping PONG
hipchatと連携
$cd chako $npm install hubot-hipchat
これみて設定いれただけ。
hipchat/hubot-hipchat · GitHub
#!/bin/sh set -e npm install export PATH="node_modules/.bin:node_modules/hubot/node_modules/.bin:$PATH" export HUBOT_NAME="chako" export PORT=80 #see https://github.com/hipchat/hubot-hipchat export HUBOT_ADAPTER="hipchat" export HUBOT_HIPCHAT_JID="hogehoge@chat.hipchat.com" export HUBOT_HIPCHAT_PASSWORD="hogepassword" #optional export HUBOT_HIPCHAT_ROOMS="hogeroom@chat.hipchat.com,hoge2room@chat.hipchat.com" #export HUBOT_HIPCHAT_ROOMS_BLACKLIST="" #export HUBOT_HIPCHAT_JOIN_ROOMS_ON_INVITE="" #export HUBOT_HIPCHAT_HOST="cyberagent.hipchat.com" #export HUBOT_HIPCHAT_XMPP_DOMAIN="" #export HUBOT_LOG_LEVEL="debug" #export HUBOT_HIPCHAT_RECONNECT="" exec node_modules/.bin/hubot "$@"
optionalで色々指定できるみたいだけど、特に何も指定していない。
hubot-hipchatは、hipchatに5222ポートで通信しにいくのでサーバからポート空いてるのを確認してれば問題ない
hubotのスクリプトを使ってみる
カタログがいくつかあるので、楽しそうなのを追加する
Hubot Script Catalog
hubot-scripts.json
に追加すれば良いらしい
ちょっとやってみた
["room-info.coffee","flip.coffee"]
room-infoの方はこんな感じ
hubot-scripts/room-info.coffee at master · github/hubot-scripts · GitHub
※chako_testというhipchatのroomでやってる
flipの方はこんな感じ
hubot-scripts/flip.coffee at master · github/hubot-scripts · GitHub
※flipをnpm installした
hubotのスクリプトを書いてみた
GHEのライセンスの利用状況ができるものと、サイズの大きなリポジトリランキング(2GB以上のもの)を表示するスクリプトを書いた。
使ったAPIはこれ
Enterprise | GitHub API
Search | GitHub API
ライセンスのAPIはGHEの2.1から利用できるものらしい
hubot-script/ghe-status.coffee at master · pnsk/hubot-script · GitHub
でたでた
なんかもっとちゃんと書けそうだけど・・・。いったん。。
ちゃんちゃん。