もっと軽くする
- ジョブの情報は depth=0 でもってきたいのだけど、そうすると、description が取れない
- depth=1 で持ってくると、今までのビルド全部が取れてしまう…(1年も経てばすごいことに)
- 今は depth=1 で持ってきているので、これを何とかしたい。
うーん。depth=0.5 くらいで description もってこれないかなぁ。
メーリングリストで方法がないか聞いてみよう。
exclude というキーワードを使って、要素を除外することができるとのこと。(川口さんありがとうございます)
xpath に慣れていないので、どこかに例はないかと探したら…あった!
うわ。川口さんのブログにあるし…。よく調べずに聞いてしまってごめんなさい。
設定画面までできました。
- 一画面に多くのジョブがだせるようにしてみました。
- HudsonのURLと表示するジョブを画面から設定できるようにしました。
AJax使ってHudsonからジョブを引っ張ってくるのに一苦労…。
知らないとすぐにハマルなぁ。
Hudsonプラグイン
こんなところまでできました。
今できていること
- ジョブの名前、説明、ヘルスレポート、最新のビルド状況が表示できます
- 説明は、Redmine で対応している textile 記法を使うことができます
- 一応、ビルドの要求を投げることもできます
- 多分フリースタイルのビルドにしか対応できていません
- Hudson の URL はハードコーディング…なのです
やりたいこと
成果物について
- http://www.r-labs.org/ (Remineサイト)で開発しています。
- リポジトリは、 GoogleCodes を利用しています。 http://r-labs.googlecode.com/svn/trunk/plugins/redmine_hudson
Hudson プラグインを作るぞ
ストーリーとタスク(2)
Redmineはチケットでタスクを管理するのだけれど、ストーリーも管理したい。
ほしいもの
- ストーリーを管理したい
- 専用のメニューがほしい
- ストーリーとタスクが混ざらないようにしたい
- ストーリーからチケットを作成したい
- ストーリーからチケットの状況を把握することができるようにしたい
- チケットの総数/未完了/完了
- 既存のチケットもストーリーに組み込めるようにしたい
- すでにRedmineが運用中なので、それに組み込む形にしたい
さっきの続き
redmine_story_decomposition プラグインがそれくさい。
- トラッカー"story" と、トラッカー"task" のチケット同士を、関連 "composes" で結びつけようとしている
ちっとゴールが見えてきた気がする。
ストーリーとチケット
- ストーリーとタスク用のトラッカーを用意する
- ストーリーとタスクは、関連付けで結びつける
- いい名前はないか?(関連するじゃちょっと味気ない)
- 関連付けの種類を増やすことは簡単だろうか?
- IssueRelations に追加すれば何とか(Redmineのバージョンアップで絶対はまりそう)
- ストーリーとタスクは分けて表示したい
- タブを追加するしかないかなー。下の「今やるものとこれからやるもの」と協調させたいんだけど
このイテレーションでやるものと、それ以外のもの
- とても分かりやすくていい
- クエリを使えば実現できるんだけど、「簡単にすぐ見ることができる」のはとても大事だと思う
- デフォルトで特定のクエリを使うようにすればできる?
- クエリに指定する条件の値は固定だから、「今週のチケット」を見るためのクエリは用意できない
- やっぱり自作か?
ストーリーとタスク
Redmineはチケットでタスクを管理するのだけれど、ストーリーも管理したい。
- ストーリーを管理したい
- 専用のメニューがほしい
- ストーリーとタスクが混ざらないようにしたい
- ストーリーからチケットを作成したい
- ストーリーからチケットの状況を把握することができるようにしたい
- チケットの総数/未完了/完了
- 既存のチケットもストーリーに組み込めるようにしたい
- すでにRedmineが運用中なので、それに組み込む形にしたい
RedmineへScrumのアイデアを注入: プログラマの思索 で
Scrumのアイデアを注入したプラグインがあるとの情報をゲット。もしかしたらそのまま使えるかも??
vendor/plugin にあった
を評価用のRedmineに突っ込む。実行すると
- チケット/新しいチケット/ロードマップが消えた!
- 代わりに ProductBacklog と SprintBacklog が表示された
- ProductBacklog を選択すると…コケタ。
ちょっとソースを見てみる。
- db:migrate_plugins してなかった
- story というトラッカーが必要
再度挑戦。ProductBacklog は動くようになった! SprintBacklog がコケル
- @project.current_version がナイ!とのお告げ
確かに current_version って定義されていないんだけど…。<-- イマココ
ないので、versions[0] を使うようにちょっと小細工。
- VelocityChart::Gchart がナイ!
vendor/gems/mattetti-googlecharts-1.3.6 がいるらしい。
おいたけど変わらない。インストールが必要?
そうだった。 gem install googlecharts したのにダメ。なぜ?
require 'gchat'
がなかったかららしい。ふーむ。
一応動いた…けど、
プロダクトバックログに入れてたストーリーにバージョンがついてなかったので、付けてみたら…
あぁ、待機中のタスクと、このバージョンで行うべきタスクを分けるためのプラグインなのね。
確かにいいかも。でも、ストーリーとタスクをまとめるためのものじゃないなぁ。
さて。どうするか。
ちなみに、StoryPoints が動作しない件は、
- カスタムフィールドを用意する(名前はStoryPointsがいいと思うけど)
- story_point_extension.rb の6行目を以下のようにするといけるかも。
story_point_value = custom_values.detect {|cv| cv.custom_field.name == '[カスタムフィールドの名前]' }