Submit Search
Upload
Hubotを使ってbotをつくろう!
•
Download as PPTX, PDF
•
6 likes
•
3,583 views
Daisuke Kikuchi
Follow
Hubotを用いて、HipChatと連携。 HipChatからJenkinsで自動デプロイしたり、 Backlogの更新をHipChatに通知したり。 開発のお供にいかがでしょうか。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 20
Download now
Recommended
hubotで快適BOT生活
hubotで快適BOT生活
Kazufumi Otani
Hubotをはじめる
Hubotをはじめる
nasa9084
hubot-slack v4移行時のハマりどころ #hubot_chatops
hubot-slack v4移行時のハマりどころ #hubot_chatops
knjcode
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
dcubeio
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
sairoutine
Hubotで遊ぶ
Hubotで遊ぶ
treby
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Shoot Morii
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
Recommended
hubotで快適BOT生活
hubotで快適BOT生活
Kazufumi Otani
Hubotをはじめる
Hubotをはじめる
nasa9084
hubot-slack v4移行時のハマりどころ #hubot_chatops
hubot-slack v4移行時のハマりどころ #hubot_chatops
knjcode
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
dcubeio
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
sairoutine
Hubotで遊ぶ
Hubotで遊ぶ
treby
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Shoot Morii
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
Go言語によるwebアプリの作り方
Go言語によるwebアプリの作り方
Yasutaka Kawamoto
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
15分でわかるGit入門
15分でわかるGit入門
to_ueda
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Uchio Kondo
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
Ruby way-openstack.keynote
Ruby way-openstack.keynote
Uchio Kondo
プロ生ちゃんbotを作ろう!
プロ生ちゃんbotを作ろう!
treby
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
こわくない Git
こわくない Git
Kota Saito
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Hidetoshi Ochiai
コミュニティのある風景
コミュニティのある風景
Ryunosuke SATO
第1回python勉強会
第1回python勉強会
Yoshio Shimomura
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
Atsuo Ishimoto
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
infinite_loop
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)
pupupopo88
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
Ipros techmeetup 20131218_scala_handson
Ipros techmeetup 20131218_scala_handson
honda-y
Fluentd
Fluentd
Hiroshi Toyama
More Related Content
What's hot
Go言語によるwebアプリの作り方
Go言語によるwebアプリの作り方
Yasutaka Kawamoto
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
15分でわかるGit入門
15分でわかるGit入門
to_ueda
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
Uchio Kondo
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
Ruby way-openstack.keynote
Ruby way-openstack.keynote
Uchio Kondo
プロ生ちゃんbotを作ろう!
プロ生ちゃんbotを作ろう!
treby
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
こわくない Git
こわくない Git
Kota Saito
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Hidetoshi Ochiai
コミュニティのある風景
コミュニティのある風景
Ryunosuke SATO
第1回python勉強会
第1回python勉強会
Yoshio Shimomura
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
Kouhei Maeda
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
Atsuo Ishimoto
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
infinite_loop
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)
pupupopo88
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
What's hot
(20)
Go言語によるwebアプリの作り方
Go言語によるwebアプリの作り方
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
15分でわかるGit入門
15分でわかるGit入門
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
勉強会 Cvml python基礎
勉強会 Cvml python基礎
Ruby way-openstack.keynote
Ruby way-openstack.keynote
プロ生ちゃんbotを作ろう!
プロ生ちゃんbotを作ろう!
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
こわくない Git
こわくない Git
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
コミュニティのある風景
コミュニティのある風景
第1回python勉強会
第1回python勉強会
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Goodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Viewers also liked
Ipros techmeetup 20131218_scala_handson
Ipros techmeetup 20131218_scala_handson
honda-y
Fluentd
Fluentd
Hiroshi Toyama
Fluentd勉強会 (導入編 TreasureData活用)
Fluentd勉強会 (導入編 TreasureData活用)
takeuchi-tk
リーダブルコード 1.0'
リーダブルコード 1.0'
Yamamura Takashi
仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5
Daisuke Kikuchi
Vagrant
Vagrant
Hiroshi Toyama
Fluentd introduction at ipros
Fluentd introduction at ipros
Treasure Data, Inc.
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
Junya Yamaguchi
インフラエンジニアLv1がWordPressまわりに色々してみた話
インフラエンジニアLv1がWordPressまわりに色々してみた話
Daisuke Kikuchi
MBaaS - Parse
MBaaS - Parse
Junya Yamaguchi
CSS Nite LP38に行ってきた
CSS Nite LP38に行ってきた
Yasuyuki Fujikawa
初心者Vimmerによるvim+rails開発
初心者Vimmerによるvim+rails開発
Daisuke Kikuchi
Vagrant勉強会アップロード用
Vagrant勉強会アップロード用
takeuchi-tk
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)
Daisuke Kikuchi
Fluentdで本番環境を再現
Fluentdで本番環境を再現
Hiroshi Toyama
Enjoy the Ansible
Enjoy the Ansible
Yasuyuki Fujikawa
Markdownでドキュメント作成
Markdownでドキュメント作成
Yasuyuki Fujikawa
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
Taro L. Saito
Kawaz Hipchat超入門
Kawaz Hipchat超入門
Kohki Miki
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
takeuchi-tk
Viewers also liked
(20)
Ipros techmeetup 20131218_scala_handson
Ipros techmeetup 20131218_scala_handson
Fluentd
Fluentd
Fluentd勉強会 (導入編 TreasureData活用)
Fluentd勉強会 (導入編 TreasureData活用)
リーダブルコード 1.0'
リーダブルコード 1.0'
仮想マシンとVagrant + Vagrant 1.5
仮想マシンとVagrant + Vagrant 1.5
Vagrant
Vagrant
Fluentd introduction at ipros
Fluentd introduction at ipros
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
インフラエンジニアLv1がWordPressまわりに色々してみた話
インフラエンジニアLv1がWordPressまわりに色々してみた話
MBaaS - Parse
MBaaS - Parse
CSS Nite LP38に行ってきた
CSS Nite LP38に行ってきた
初心者Vimmerによるvim+rails開発
初心者Vimmerによるvim+rails開発
Vagrant勉強会アップロード用
Vagrant勉強会アップロード用
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)
Fluentdで本番環境を再現
Fluentdで本番環境を再現
Enjoy the Ansible
Enjoy the Ansible
Markdownでドキュメント作成
Markdownでドキュメント作成
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
Kawaz Hipchat超入門
Kawaz Hipchat超入門
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
Similar to Hubotを使ってbotをつくろう!
ラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナー
softlayerjp
Github第8章
Github第8章
Yuto Suzuki
PHPの今とこれから2020
PHPの今とこれから2020
Rui Hirokawa
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
WebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリ
Kohei Kadowaki
Code ignitertalk 01
Code ignitertalk 01
Takako Miyagawa
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
KLab株式会社
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
Hideharu MATSUFUJI
バージョン管理
バージョン管理
Misa Kondo
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Wataru NOGUCHI
Nutanix エンジニアのための Git 入門 :序
Nutanix エンジニアのための Git 入門 :序
Wataru Unno
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Tokyo University of Science
Node-REDのロードマップや見どころ
Node-REDのロードマップや見どころ
BMXUG
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Hikari Fukasawa
Python開発環境三種の神器
Python開発環境三種の神器
Yukitaka Uchikoshi
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料
Nobuhiro Iwamatsu
git ~start PullRequest~
git ~start PullRequest~
Souichirou Andou
Yapc2012資料
Yapc2012資料
matsuo kenji
HDPをWindowsで動かしてみた
HDPをWindowsで動かしてみた
adachij2002
Similar to Hubotを使ってbotをつくろう!
(20)
ラズパイ × Bluemix IoTハンズオンセミナー
ラズパイ × Bluemix IoTハンズオンセミナー
Github第8章
Github第8章
PHPの今とこれから2020
PHPの今とこれから2020
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
WebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリ
Code ignitertalk 01
Code ignitertalk 01
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
バージョン管理
バージョン管理
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Nutanix エンジニアのための Git 入門 :序
Nutanix エンジニアのための Git 入門 :序
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Node-REDのロードマップや見どころ
Node-REDのロードマップや見どころ
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Python開発環境三種の神器
Python開発環境三種の神器
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料
git ~start PullRequest~
git ~start PullRequest~
Yapc2012資料
Yapc2012資料
HDPをWindowsで動かしてみた
HDPをWindowsで動かしてみた
Hubotを使ってbotをつくろう!
1.
Hubotを使ってbotをつくろう! (Hipchat, Jenkins,
Backlog連携) 企画開発部開発Gr. 菊池大輔
2.
話すこと Hubotとは HipChat連携
JenkinsやBacklogとの連携
3.
Hubotとは GitHub社が開発した チャットbot開発・実行フレームワーク
MITライセンス Node.js上で動く Redis(インメモリDB)
4.
Hubotの導入手順 Node.jsとRedisをインストール npmでhubotをインストール
これだけ!
5.
Node.jsとnpmの導入手順 Macの場合 $
brew install node redis CentOSの場合 # EPELリポジトリ追加 $ sudo rpm –ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release- 6-8.noarch.rpm # nodeとredisをインストール $ sudo yum install node redis Windowsの場合 「nodist」を入れると良いかも
6.
Hubotの導入手順 # hubotのインストール
$ npm install -g hubot coffee-script # 任意のディレクトリに移動(ここではホームディレクトリ) $ cd ~ # 「mybot」というhubotを作成 $ hubot --create mybot # 「mybot」というディレクトリができている $ cd mybot $ npm install
7.
Hubotを動かしてみよう! $ cd
mybot # hubot起動 $ ./bin/hubot Hubot> hubot ping Hubot> PONG # hubotがエコーで返してくる # 終わるとき Hubot> exit
8.
どう動いてる? CoffeeScript またはJavaScript
# CoffeeScript(デフォルト: scripts/ping.coffee) module.exports = (robot) ->↲ robot.respond /PING$/i, (msg) ->↲ msg.send "PONG" # JavaScript module.exports = function(robot) {↲ robot.respond(/PING$/i, function(msg) {↲ msg.send("PONG”); }); });
9.
自作のイベントを作るには 「scriptsディレクトリ」の中に CoffeeScriptかJavaScriptを入れるだけ
# テンプレート(CoffeeScript) module.exports = (robot) ->↲ robot.respond [正規表現], (msg) ->↲ msg.send [返すメッセージ] # テンプレート(JavaScript) module.exports = function(robot) {↲ robot.respond([正規表現], function(msg) {↲ msg.send([返すメッセージ]); }); });
10.
HipChat連携 HipChatに、 hubotが投稿することができる!
HipChat上でhubotと会話しよう!
11.
HipChat連携手順 HipChatでhubot用アカウントを作成 グループ管理者が作る必要あり
作ったアカウントのJabber IDを取得 HipChatのPCサイトにログイン アカウント設定の画面で取得可能 HubotにHipChat用プラグインを インストール(次のページ)
12.
HipChat用プラグインの インストール #
依存ライブラリのインストール(Mac) $ brew install icu4c $ brew link icu4c # 依存ライブラリのインストール(CentOS) $ sudo yum install libicu-devel # プラグインインストール $ npm install --save hubot-hipchat # 環境変数設定 $ export HUBOT_HIPCHAT_JID=“[Jabber ID]” $ export HUBOT_HIPCHAT_PASSWORD=“[パスワード]”
13.
起動! # hipchatにつなぐためアダプタの設定をする
$ bin/hubot -a hipchat 部屋にhubotを入れてあげる
14.
JenkinsやBacklogとの連携 Jenkins:CIツール Backlog:プロジェクト管理システム
バグトラッキングシステム (開発元:ヌーラボさん) どちらも HTTPSでAPIがたたける データがJSON形式で取得できる
15.
Jenkins Remote API
URLを打ってみる ジョブに設定しているブランチ名の取得 [JenkinsホームのURL]/job/[Jobの名前]/api/json ジョブを起動 [JenkinsホームのURL]/job/[Jobの名前]/ buildWithParameters?[パラメータ名]=[パラメータ値] ※パラメータは「設定」で定義したもの
16.
Backlog API v2
2014/07/07リリース(!) 複数のプロジェクトからイシュー一覧を 取得 [BacklogホームのURL]/api/v2/issues? projectId[]=[プロジェクト1のID]& projectId[]=[プロジェクト2のID]… BacklogのAPI Keyが必要 アカウント設定で取得
17.
大体の流れ APIをたたいてデータをJSON形式で取得 JSON.parseでパースしてオブジェクト化
得られたデータを元にHipChatに対し 通知を行なう
18.
APIをたたくには # CoffeeScript
module.exports = (robot) -> path = [APIのURL]↲ req = robot.http path↲ req.get() (err, res, body) -> contents = JSON.parse(body) : :
19.
まとめ Hubotによってbotが簡単に作れる! 他の機能と組み合わせることで
様々な通知機能を作成可能 開発のお供にぜひ使ってみては?
20.
ご静聴ありがとうございました
Download now