スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SD(Simple Defects)でGoogleCodeのチケット情報を読み込み

1.K-9 Mailのチケット情報を落とす

$ mkdir k9mail
$ export SD_REPO=~/k9mail
$ sd clone --from "gcode:k9mail"
gcode:k9mail: Finding matching tickets
gcode:k9mail: Searching for tickets.
This can take a very long time on initial sync or if you haven't synced in a long time.
n/a n/a n/a################### 100.0% 0:00########## 100.0% Est: 0:00
Done.

ヘルプの例どおりのコマンドで成功

2.ブラウザで確認

$ sd browser

k9mail

3.バージョンガントチャートのチケット情報を落とす

$ mkdir vgc
$ export SD_REPO=~/vgc
$ sd clone --from "gcode:version-gantt-chart"
Can't call method "find_by_tag_name" on an undefined value
at ~/sd/bin/../lib/perl5/Net/Google/Code.pm line 108.

失敗…。
Google/Code.pmでfind_by_tag_namメソッドの呼び出しに失敗しているらしい。

4.Code.pmの修正

Code.pmをみてみると
 97: $tree = $self->html_tree( html => $tree ) unless blessed $tree;
108: my @members_tags =
109: $tree->look_down( id => 'members' )->find_by_tag_name('a');

なので、htmlからid属性が'members'のタグを探して、その子要素のタグを集めてるらしい。

k9mailとversion-gantt-chartのhtmlを比べると確かに、
k9mailにはがあるけど、version-gantt-chartにはなかった。
version-gantt-chartにはOwnersはいるけどCommittersがいないのが原因っぽい。

OwnerとCommittersの両方に登録できないみたいなので、GoogleCode側での対応をあきらめて、
Code.pmを修正した。
108: my $id_members_tag = $tree->look_down( id => 'members' );
109: my @members_tags;
110: $self->members_tags = $id_members_tag->find_by_tag_name('a') if $id_members_tag;

id属性がmemberのタグが見つからなかった場合は、配列を空にするように書き換えた。

5.もう一度バージョンガントチャートのチケット情報を落とす

$ bin/sd clone --from "gcode:version-gantt-chart"
gcode:version-gantt-chart: Finding matching tickets
gcode:version-gantt-chart: Searching for tickets. This can take a very long time on initial sync or if you haven't synced in a long time.
n/a n/a n/a################### 100.0% 0:00########## 100.0% Est: 0:00
Done.

成功。ブラウザでチケットを確認できた。
version gantt
日本語の入ったチケットもOK
スポンサーサイト

コメント

Secret

プロフィール

tenma

Author:tenma


AI好きのプログラマ
基本伊豆ダイバー(100本達成)
ゲーム実況好きのニコ厨(プレミアム会員)


follow _tenma at http://twitter.com

最新記事
最新コメント
最新トラックバック
カテゴリ
検索フォーム
リンク
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。