Redmine::Chan で IRC からプロジェクト管理 2012/09/28 YAPC ASIA TOKYO 株式会社はてな 大西康裕 id:onishi
  id:onishi 大西康裕   ONISHI   @yasuhiro_onishi   株式会社はてな   はてなブログ
Devel::KTYProf Text::Hatena Web::Embed
はてなブログ
2012-09-26 ブログのアイコンを設定できるようにしました / 2012-09-21 読んだブログの「 ここ がいいな」 33週連続 を書き手に伝えよう! 引用スターをつけやすくしました / 2012-09-20 スマートフォン用のブログ編集画面で写真 を投稿できるようにしました / 2012-09-19 Markdown記法に対応しました / 2012-09-12 トップページや 「注目のエントリー」などをリニューアルしました / 2012-09-05 はてなスターをつけやすく、見やすくなるように 変更しました / 2012-08-29 編集サイドバーに「うごメモ貼り付け機能」を追加しました / 2012-08-22 サイド バーに「最近のコメント」モジュールを追加しました / 2012-08-15 ネットの話題からブログを書いてみませんか? 編集サイドバーに「はてなブックマーク貼り付け機能」を追 ました / 2012-08-08 背景画像の繰り返しの設定な ど、デザイン・カスタマイズ機能を強化しました / 2012-08-01 ブログの背景画像をアップロードできるようにしま した / 2012-07-25 ブログに何を書くか、自分のツイートから探してみませんか? 編集サイドバーにTwitter貼り 付け機能を追加しました / 2012-07-18 記事下部分をカスタマイズできるようにしました / 2012-07-11 機能変 新機能 更 アクセス解析機能を強化しました / 2012-07-04 ブログのタイトル部分に画像を設定できるようにしました / 2012-06-27 Amazon商品紹介機能を追加しました / 2012-06-22 ブログのヘッダとフッタをカスタマイズでき るようにしました / 2012-06-15 機能変更 はてなブログProで独自ドメインを設定した際に、はてなブックマーク とはてなスターも移行するなどの機能を追加しました / 2012-06-07 機能変更 サイドバー「プロフィール」モ ジュールに自由記述欄を設けるなど機能を追加しました / 2012-05-31 はてなダイアリーからはてなブログへのイン ポート機能を追加しました / 2012-05-18 記事URLをより柔軟に設定できる機能などを追加しました / 2012-05-10 機能変更 サイドバーの「プロフィール」モジュールに、各種ソーシャルメディアのフォローボタン表示 機能を追加しました / 2012-04-27 機能変更 スマートフォン投稿・編集機能を追加し、管理画面をリニューアルしま した / 2012-04-19 コメント承認機能など、コメント機能を強化しました / 2012-04-10 ともだち限定など、ブ リリース ログの公開範囲を設定できるようにしました / 2012-04-05 Google Analytics対応など、サイト管理機能を追加 しました / 2012-03-29 メールで記事が投稿できる機能を追加しました / 2012-03-23 サイドバーモジュール 「リンク」「最新記事」の機能を強化しました / 2012-03-08 新しいサイドバーモジュールを追加し、サイドバー編 集機能を強化しました / 2012-02-27 外部サイト埋め込み機能を強化し、Twitterのツイートなどを簡単に貼れるよ うにしました / 2012-02-23 Google各サービスの写真や動画などが簡単に紹介できる機能を追加しました / 2012-02-17 記事の投稿日時を変更できるようにしました / 2012-02-13 キャンペーン はてなブログの有料プラ ン「はてなブログPro」をリリース、長袖Tシャツのプレゼントキャンペーンを開催 / 2012-02-10 「記事カテゴ
Redmine •プロジェクト管理ソフトウェア •Ruby on Rails •機能が豊富 • 操作が煩雑(個人の見解です)
Redmine Web
Project Management •今誰が何をやっているか可視化 •漏れをなくす •管理が面倒で嫌にならない!!!!!!!
Project Management •とにかく簡単に issue 登録 •日常使っているツールから •ブラウザで Redmine 開かない • 息をするように issue 登録
IRC •Internet Relay Chat •since 1988 (RFC1459) •枯れた技術で社内が潤う • 社内IRCはエンジニアの日常
talk on IRC hitode909: ブログでmarkdown使いたい onishi: 使いたい!Redmineに登録します! onishi: Redmineに登録しといたよ! hitode909: やります  hitode909: やりました。レビューお願いします onishi: はや!レビューしました。問題ないよ hitode909: ありがとうございます。リリースしました
Recipe •IRCサーバー •Redmineサーバー •専用Redmineユーザー(管理権限) •REST API を有効にする (管理 > 設定 > 認証)
Redmine::Chan use Redmine::Chan; my $minechan = Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook;
IRC Config use Redmine::Chan; my $minechan = Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook;
Relationship use Redmine::Chan; my $minechan = Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook;
Redmine Config use Redmine::Chan; my $minechan = Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook;
Run use Redmine::Chan; my $minechan = Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook; # run でも可
Modules AnyEvent::IRC::Client WebService::Simple
注意!!!この後、 HOW TO Perlのコードは USE 出て来ません!!!
Create Issue onishi: minechan: YAPC資料作る minechan: https://your.redmine .host/issues/123 :[YAPC資料作る] [新規]
Show Issue onishi: #123 minechan: https://your.redmine .host/issues/123 :[YAPC資料作る] [新規]
Assign onishi: #123 > motemen minechan: https://your.redmine .host/issues/123 :[YAPC資料作る] [motemen] [新規]
Note onishi: IE6は後で確認する > #123 minechan: https://your.redmine .host/issues/123 :[YAPC資料作る] [motemen] [新規]
Issue Condition Assign login name Status status name Tracker tracker name Due Date d{4}[-/]d{1,2}[-/]d{1,2}
Change at once onishi: #1 バグ 進行中 2012/9/28 minechan: https://your.redmine .host/issues/1 : [バグ] [onishi] [進行中] [2012-09-28]
Change at once onishi: #1 バグ 進行中 2012/9/28 Tracker minechan: https://your.redmine .host/issues/1 : [バグ] [onishi] [進行中] [2012-09-28]
Change at once onishi: #1 バグ 進行中 2012/9/28 Status minechan: https://your.redmine .host/issues/1 : [バグ] [onishi] [進行中] [2012-09-28]
Change at once onishi: #1 バグ 進行中 2012/9/28 Due Date minechan: https://your.redmine .host/issues/1 : [バグ] [onishi] [進行中] [2012-09-28]
Auto Config •/users.json •/issue_statuses.json •/trackers.json
Reload Config onishi: reload minechan: reloaded.
日常のプロジェクト管理
1 新規 担当者 2 進行中 3 レビュー依頼 レビュアー 4 レビュー中 5 リリース待ち 6 終了
Redmine::Chan MANIACS
Custom Fields git diff master...branch
Custom Fields custom_field_prefix => { 2 => [qw(origin/)], # branch }, onishi: #123 origin/mybranch minechan: https://your.redmine .host/issues/123 : [mybranch]
SME hitode909: 寿司が回るようにしましょう onishi: それめっちゃええやん onishi: minechan: 寿司が回るようにしましょう minechan: https://redmine/issues/123 : [寿司が回るようにしましょう]
SME hitode909: 寿司が回るようにしましょう onishi: それめっちゃええやん onishi: minechan: 寿司が回るようにしましょう minechan: https://redmine/issues/123 : [寿司が回るようにしましょう] コピペ
.. hitode909: 寿司が回るようにしましょう onishi: ..  minechan: https://redmine/issues/123 : [寿司が回るようにしましょう]
MY API KEY privmsg to minechan onishi: aaa minechan: set key onishi : aaa
Customize 1 新規 status_commands => { 1 => [‘やめます’], 2 進行中 2 => [‘やります’], 3 レビュー依頼 3 => [‘レビューおねがいします’], 4 => [‘レビューします’], 4 レビュー中 5 => [‘レビューしました’], 5 リリース待ち 6 => [‘リリースしました’], }, 6 終了
Manage like talking hitode909: ブログでmarkdown使いたい onishi: ..  minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
Manage like talking hitode909: ブログでmarkdown使いたい onishi: ..  minechan: http://redmine/issues/123  【Issue 登録】 hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
Manage like talking hitode909: ブログでmarkdown使いたい onishi: ..  【進行中】 minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
Manage like talking hitode909: ブログでmarkdown使いたい onishi: ..  【レビュー待ち】 minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
Manage like talking hitode909: ブログでmarkdown使いたい onishi: ..  【リリース待ち】 minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
Manage like talking hitode909: ブログでmarkdown使いたい onishi: ..  【終了】 minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
まとめ
nick: ISSUE Create #id Show #id assin tracker status Update date > #id note Note reload Reload .. SME
Redmine::Chanで •Issue に関する基本操作をIRC上で • 日常のプロジェクト管理を簡単に •管理に煩わされず、本質的な仕事を github.com/onishi/Redmine-Chan
閑話 最近のはてな
GHE::Chan ご期待下さい!!
人材募集 •はてなでは全職種を募集しています! •東京オフィスでもエンジニア採用! •一緒にブログを作りましょう! www.hatena.ne.jp/company/staff
ご清聴ありがとうございました

Redmine::ChanでIRCからプロジェクト管理

  • 1.
    Redmine::Chan で IRC からプロジェクト管理 2012/09/28 YAPC ASIA TOKYO 株式会社はてな 大西康裕 id:onishi
  • 2.
      id:onishi 大西康裕  ONISHI   @yasuhiro_onishi   株式会社はてな   はてなブログ
  • 3.
  • 4.
  • 5.
    2012-09-26 ブログのアイコンを設定できるようにしました /2012-09-21 読んだブログの「 ここ がいいな」 33週連続 を書き手に伝えよう! 引用スターをつけやすくしました / 2012-09-20 スマートフォン用のブログ編集画面で写真 を投稿できるようにしました / 2012-09-19 Markdown記法に対応しました / 2012-09-12 トップページや 「注目のエントリー」などをリニューアルしました / 2012-09-05 はてなスターをつけやすく、見やすくなるように 変更しました / 2012-08-29 編集サイドバーに「うごメモ貼り付け機能」を追加しました / 2012-08-22 サイド バーに「最近のコメント」モジュールを追加しました / 2012-08-15 ネットの話題からブログを書いてみませんか? 編集サイドバーに「はてなブックマーク貼り付け機能」を追 ました / 2012-08-08 背景画像の繰り返しの設定な ど、デザイン・カスタマイズ機能を強化しました / 2012-08-01 ブログの背景画像をアップロードできるようにしま した / 2012-07-25 ブログに何を書くか、自分のツイートから探してみませんか? 編集サイドバーにTwitter貼り 付け機能を追加しました / 2012-07-18 記事下部分をカスタマイズできるようにしました / 2012-07-11 機能変 新機能 更 アクセス解析機能を強化しました / 2012-07-04 ブログのタイトル部分に画像を設定できるようにしました / 2012-06-27 Amazon商品紹介機能を追加しました / 2012-06-22 ブログのヘッダとフッタをカスタマイズでき るようにしました / 2012-06-15 機能変更 はてなブログProで独自ドメインを設定した際に、はてなブックマーク とはてなスターも移行するなどの機能を追加しました / 2012-06-07 機能変更 サイドバー「プロフィール」モ ジュールに自由記述欄を設けるなど機能を追加しました / 2012-05-31 はてなダイアリーからはてなブログへのイン ポート機能を追加しました / 2012-05-18 記事URLをより柔軟に設定できる機能などを追加しました / 2012-05-10 機能変更 サイドバーの「プロフィール」モジュールに、各種ソーシャルメディアのフォローボタン表示 機能を追加しました / 2012-04-27 機能変更 スマートフォン投稿・編集機能を追加し、管理画面をリニューアルしま した / 2012-04-19 コメント承認機能など、コメント機能を強化しました / 2012-04-10 ともだち限定など、ブ リリース ログの公開範囲を設定できるようにしました / 2012-04-05 Google Analytics対応など、サイト管理機能を追加 しました / 2012-03-29 メールで記事が投稿できる機能を追加しました / 2012-03-23 サイドバーモジュール 「リンク」「最新記事」の機能を強化しました / 2012-03-08 新しいサイドバーモジュールを追加し、サイドバー編 集機能を強化しました / 2012-02-27 外部サイト埋め込み機能を強化し、Twitterのツイートなどを簡単に貼れるよ うにしました / 2012-02-23 Google各サービスの写真や動画などが簡単に紹介できる機能を追加しました / 2012-02-17 記事の投稿日時を変更できるようにしました / 2012-02-13 キャンペーン はてなブログの有料プラ ン「はてなブログPro」をリリース、長袖Tシャツのプレゼントキャンペーンを開催 / 2012-02-10 「記事カテゴ
  • 6.
  • 7.
  • 8.
    Project Management •今誰が何をやっているか可視化 •漏れをなくす •管理が面倒で嫌にならない!!!!!!!
  • 9.
    Project Management •とにかく簡単に issue 登録 •日常使っているツールから •ブラウザで Redmine 開かない • 息をするように issue 登録
  • 10.
    IRC •Internet Relay Chat •since1988 (RFC1459) •枯れた技術で社内が潤う • 社内IRCはエンジニアの日常
  • 11.
    talk on IRC hitode909:ブログでmarkdown使いたい onishi: 使いたい!Redmineに登録します! onishi: Redmineに登録しといたよ! hitode909: やります  hitode909: やりました。レビューお願いします onishi: はや!レビューしました。問題ないよ hitode909: ありがとうございます。リリースしました
  • 12.
  • 14.
    Redmine::Chan use Redmine::Chan; my $minechan= Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook;
  • 15.
    IRC Config use Redmine::Chan; my$minechan = Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook;
  • 16.
    Relationship use Redmine::Chan; my $minechan= Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook;
  • 17.
    Redmine Config use Redmine::Chan; my$minechan = Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook;
  • 18.
    Run use Redmine::Chan; my $minechan= Redmine::Chan->new( irc_server => 'your.irc.host', irc_port => 6667, irc_password => 'your_irc_password', irc_channels => { '#channel' => { project_id => 1 }, }, redmine_url => 'http://your.redmine.host/', redmine_api_key => 'redmine_api_key', ); $minechan->cook; # run でも可
  • 19.
  • 20.
    注意!!!この後、 HOW TO Perlのコードは USE 出て来ません!!!
  • 21.
    Create Issue onishi: minechan:YAPC資料作る minechan: https://your.redmine .host/issues/123 :[YAPC資料作る] [新規]
  • 22.
    Show Issue onishi: #123 minechan:https://your.redmine .host/issues/123 :[YAPC資料作る] [新規]
  • 23.
    Assign onishi: #123 >motemen minechan: https://your.redmine .host/issues/123 :[YAPC資料作る] [motemen] [新規]
  • 24.
    Note onishi: IE6は後で確認する >#123 minechan: https://your.redmine .host/issues/123 :[YAPC資料作る] [motemen] [新規]
  • 25.
    Issue Condition Assign login name Status status name Tracker tracker name Due Date d{4}[-/]d{1,2}[-/]d{1,2}
  • 26.
    Change at once onishi:#1 バグ 進行中 2012/9/28 minechan: https://your.redmine .host/issues/1 : [バグ] [onishi] [進行中] [2012-09-28]
  • 27.
    Change at once onishi:#1 バグ 進行中 2012/9/28 Tracker minechan: https://your.redmine .host/issues/1 : [バグ] [onishi] [進行中] [2012-09-28]
  • 28.
    Change at once onishi:#1 バグ 進行中 2012/9/28 Status minechan: https://your.redmine .host/issues/1 : [バグ] [onishi] [進行中] [2012-09-28]
  • 29.
    Change at once onishi:#1 バグ 進行中 2012/9/28 Due Date minechan: https://your.redmine .host/issues/1 : [バグ] [onishi] [進行中] [2012-09-28]
  • 30.
  • 31.
  • 32.
  • 33.
    1 新規 担当者 2 進行中 3 レビュー依頼 レビュアー 4 レビュー中 5 リリース待ち 6 終了
  • 34.
  • 35.
    Custom Fields git diff master...branch
  • 36.
    Custom Fields custom_field_prefix=> { 2 => [qw(origin/)], # branch }, onishi: #123 origin/mybranch minechan: https://your.redmine .host/issues/123 : [mybranch]
  • 37.
    SME hitode909: 寿司が回るようにしましょう onishi: それめっちゃええやん onishi:minechan: 寿司が回るようにしましょう minechan: https://redmine/issues/123 : [寿司が回るようにしましょう]
  • 38.
    SME hitode909: 寿司が回るようにしましょう onishi: それめっちゃええやん onishi:minechan: 寿司が回るようにしましょう minechan: https://redmine/issues/123 : [寿司が回るようにしましょう] コピペ
  • 39.
    .. hitode909: 寿司が回るようにしましょう onishi: ..  minechan:https://redmine/issues/123 : [寿司が回るようにしましょう]
  • 40.
    MY API KEY privmsg to minechan onishi: aaa minechan: set key onishi : aaa
  • 41.
    Customize 1 新規 status_commands => { 1 => [‘やめます’], 2 進行中 2 => [‘やります’], 3 レビュー依頼 3 => [‘レビューおねがいします’], 4 => [‘レビューします’], 4 レビュー中 5 => [‘レビューしました’], 5 リリース待ち 6 => [‘リリースしました’], }, 6 終了
  • 42.
    Manage like talking hitode909:ブログでmarkdown使いたい onishi: ..  minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
  • 43.
    Manage like talking hitode909:ブログでmarkdown使いたい onishi: ..  minechan: http://redmine/issues/123  【Issue 登録】 hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
  • 44.
    Manage like talking hitode909:ブログでmarkdown使いたい onishi: ..  【進行中】 minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
  • 45.
    Manage like talking hitode909:ブログでmarkdown使いたい onishi: ..  【レビュー待ち】 minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
  • 46.
    Manage like talking hitode909:ブログでmarkdown使いたい onishi: ..  【リリース待ち】 minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
  • 47.
    Manage like talking hitode909:ブログでmarkdown使いたい onishi: ..  【終了】 minechan: http://redmine/issues/123  hitode909: #123 やります  hitode909: #123 レビューお願いします onishi: #123 レビューしました hitode909: #123 ありがとうございます リリースしました
  • 48.
  • 49.
    nick: ISSUE Create #id Show #id assin tracker status Update date > #id note Note reload Reload .. SME
  • 50.
    Redmine::Chanで •Issueに関する基本操作をIRC上で • 日常のプロジェクト管理を簡単に •管理に煩わされず、本質的な仕事を github.com/onishi/Redmine-Chan
  • 51.
  • 53.
  • 54.
  • 55.