こんにちは! JQです。
前回は『OSS編~Grafanaを試してみる02~』と題して、CloudWatchから取得したデータをGrafanaでの表示を試してみました。
今回は『OSS編~Hubotを試してみる01~』と題して、Hubotを試してみたいと思います。
Hubotとは
Hubot(ヒューボット)はGitHub社が開発したbotフレームワークです。
HipChat, Skype, IRC, その他チャット系のツールにオリジナルのbotを住まわせ、開発フローに組み込むことでチャットツールを通して自動化したりする事が可能になります。
インストール
1.必要環境セットアップ
Hubotのインストールに必要なパッケージ等をインストールしていきます。
Node.jsとnpmをEPELからインストールします。
1 |
$ sudo yum -y install nodejs npm --enablerepo=epel |
2.Hubotのインストール
公式のGetting Started を参考にHubotをインストールします。
npmコマンドを利用して実施します。
1 |
$ sudo npm install -g hubot coffee-script |
3.botの作成
それではhubotコマンドでbotを作成してみます。
1 |
$ hubot --create myhubot |
コマンドを実行したパスに以下が作成されます。
gitを利用している場合gitignoreがあるので簡単に管理が出来ます。
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 |
$ tree -a myhubot/ myhubot/ ├── bin │ ├── hubot │ └── hubot.cmd ├── external-scripts.json ├── .gitignore ├── hubot-scripts.json ├── package.json ├── Procfile ├── README.md └── scripts ├── events.coffee ├── google-images.coffee ├── help.coffee ├── httpd.coffee ├── maps.coffee ├── ping.coffee ├── pugme.coffee ├── roles.coffee ├── rules.coffee ├── storage.coffee ├── translate.coffee └── youtube.coffee 2 directories, 20 files |
4.botの実行
それではbotを立ち上げてみます。
1 2 |
$ cd myhubot/ $ bin/hubot |
今回はshell adapterで起動します。
Helpでコマンドを確認してみます。
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 27 |
Hubot> hubot: help Hubot> Events: debug - {user: <user object to send message to>} Hubot <user> is a badass guitarist - assign a role to a user Hubot <user> is not a badass guitarist - remove a role from a user Hubot animate me <query> - The same thing as `image me`, except adds a few parameters to try to return an animated GIF instead. Hubot die - End Hubot process Hubot echo <text> - Reply back with <text> Hubot fake event <event> - Triggers the <event> event for debugging reasons Hubot help - Displays all of the help commands that Hubot knows about. Hubot help <query> - Displays all help commands that match <query>. Hubot image me <query> - The Original. Queries Google Images for <query> and returns a random top result. Hubot map me <query> - Returns a map view of the area returned by `query`. Hubot mustache me <query> - Searches Google Images for the specified query and mustaches it. Hubot mustache me <url> - Adds a mustache to the specified URL. Hubot ping - Reply with pong Hubot pug bomb N - get N pugs Hubot pug me - Receive a pug Hubot show storage - Display the contents that are persisted in the brain Hubot show users - Display all users that Hubot knows about Hubot the rules - Make sure Hubot still knows the rules. Hubot time - Reply with current time Hubot translate me <phrase> - Searches for a translation for the <phrase> and then prints that bad boy out. Hubot translate me from <source> into <target> <phrase> - Translates <phrase> from <source> into <target>. Both <source> and <target> are optional Hubot who is <user> - see what roles a user has Hubot youtube me <query> - Searches YouTube for the query and returns the video embed link. ship it - Display a motivation squirrel |
いかがでしたでしょうか?
次回は『OSS編~Hubotを試してみる02~』と題して、Hubotのスクリプトを試してみたいと思います。
お楽しみに!!!