HubotをインストールしてHipchatで遊んでみる。

  • Pocket
  • このエントリーをはてなブックマークに追加
  • 173 follow us in feedly

まえがき

先日、渋谷で行われた『GitHubKaigi』でHubotに関する話がちらほら出てきていて、なにか胸に迫るものがあったので簡単に触ってみました。

今回はIRCツールである『HipChat』上でHubotと遊んでみました。

開発環境

  • node 0.10.28
  • Hubot 2.7.5
  • サーバー さくらのVPS
  • OS CentOS

Hubotとはなんなのか。

さて、Hubotとは、から入りたかったのですが、すでにネット上にわかりやすくまとめられている記事がたくさんありますので今回は割愛

Hubotを動かすのに必要なもの

  • nodeが動く環境。バージョンとかはよくわからないけど、0.10.28では動くことは確認しました。
  • Redis。HubotをインストールするサーバーにRedisのサーバーをインストールするのが楽かと。
  • npm nodeのパッケージマネージャ。coffee-scriptとか必要なので

必要な物をインストールしてHubotのプロジェクトを作成

Redisのインストール

yum install redis

nvmでnodeのインストール(複数のnodeのバージョンを切り替えるやつ)

git clone git://github.com/creationix/nvm.git ~/.nvm
source .nvm/nvm.sh
nvm install 0.10
nvm use 0.10

Hubotのインストール

npm install -g hubot
npm install -g coffee-script

Hubotのプロジェクト作成

hubot --create myhubot

これであとは、muhubot内のファイルを弄った入りしてHubotで遊びます

HipChat側の準備

まずはじめにHubot(Bot)用のアカウントを作成する。

アカウント作成後、Admin権限をもつAPIを発行し、TOKENを控えておく

https://アカウント名.hipchat.com/account/xmpp のページから『Jabber ID』を控えておく

Hipchat用のアダプターのインストールと、Hubot実行ファイルの修正

packege.jsonの『dependencies』に以下のようにHipchatのアダプタを打ち込む

 "dependencies": {
    "hubot":         ">= 2.6.0 < 3.0.0",
    "hubot-scripts": ">= 2.5.0 < 3.0.0",
    "hubot-hipchat": "~2.5.1-4"
  },

『npm install』コマンドを実行して、アダプターがインストールできればOK

次に、プロジェクト内の『bin/hubot』ファイルを編集

#!/bin/sh

npm install
export PATH="node_modules/.bin:node_modules/hubot/node_modules/.bin:$PATH"

export HUBOT_HIPCHAT_TOKEN="*********"
export HUBOT_HIPCHAT_JID="**********@chat.hipchat.com"
export HUBOT_HIPCHAT_PASSWORD="*****"
export HUBOT_HIPCHAT_ROOMS="*****"
export PORT=9999
export HUBOT_LOG_LEVEL="debug"

exec node_modules/.bin/hubot "$@"

上のようなかんじで、HipChat側の設定を入力してあげる。『PASSWORD』はログインの時のパスワードで、『ROOMS』は投稿先の部屋名をそのまま入力してあげれば良い

Hubotではデフォルトで8080ポートを使うようですが、8080はすでに埋まっていたので適当なもので補いました。ここで私はつまづきました。

Hubotで遊んでみる。

まず、Hubotを起動させます。

以下のコマンドでHubotを起動します

./bin/hubot -a hipchat

では、じっさいにHipChatでコメントしてみる『@hubot animate megaman』のように『@』でボットに向けてメッセージを投げる。

hubot-install-1

『hubot animate **』では『**』にあわせて、GIF画像を拾ってきてくれる。ほかにも色々なことができたり、自分で作ったりできるので面白いです。

あとがき

今回はHipChatのアダプターを使って試してみましたが、できればChatworkのアダプターを使いたいです。アダプター自体はGithubにころがっているのですが、Chatwork側のAPIでメッセージを取得するAPIが現在未実装のうようで、手元では動きませんんでした。。。

おすすめ書籍

Hubot
Hubot
posted with amazlet at 14.06.02
Joseph P. Cody
Autotech Industries

関連記事

HubotでJenkinsのジョブを実行する

まえがき HubotをつかってJenkinsのジョブをじっこうしてみた...

記事を読む

hipchat-ruby-api-1hipchat-ruby-api-1.png

チャットサービス『HipChat』のRubyAPIで通知して遊んでみる

まえがき プライベートのチャットサービスである『HipChat』のAP...

記事を読む

no image

Hubotをforeverでデーモン化する

まえがき 今回はHubotをforeverを使ってデーモン化してみた時...

記事を読む

hipchat-hubot-issue-commenthipchat-hubot-issue-comment.png

GitHubのIssueやプルリクエストのコメントの内容をHubotに通知させる

まえがき 最近HubotとGitHubを中心に開発を進めております私で...

記事を読む

新着記事

no image

PHPでRubyのirbっぽいインタラクティブなスクリプトが実行できる「boris」

まえがき PHPでもRubyのirbみたいなことがしたくて探してみたと...

記事を読む

2015年の抱負と去年の振り返り〜よちよちWEB業界1年経験して〜

まえがき あけましておめでとうございます。今年もどうぞよろしくお願いし...

記事を読む

Java SE 7 Bronze試験(1Z0-802)を受けてきました

まえがき 以前から少し受けてみたかった試験『Java SE 7 Bro...

記事を読む

HubotでJenkinsのジョブを実行する

まえがき HubotをつかってJenkinsのジョブをじっこうしてみた...

記事を読む

no image

Hubotをforeverでデーモン化する

まえがき 今回はHubotをforeverを使ってデーモン化してみた時...

記事を読む

スポンサーリンク

PAGE TOP ↑