FishEye を使って JIRA とバージョン管理システムを連携しよう

2011-10-05 (Wed)  •  By 伊藤  •  活用のヒント  •  FishEye JIRA

はじめに

アトラシアン社の製品としては、課題管理ツールの JIRA と、企業向けの Wiki システム Confluence が圧倒的に有名ですが、それ以外にも優れたツールがたくさんあります。今回ご紹介する FishEye は、単体でも十分な性能を発揮しますが、JIRA と組み合わせる事でより開発プロセスの生産性を向上させる事ができるソフトウェアです。

FishEye のご紹介

FishEye という製品の特徴を一言で申し上げると、それは「Web ブラウザーからバージョン管理システムにアクセスできるソフトウェア」ということになります (FishEye 自体にバージョン管理の機能はありません)。このようなご紹介をすると、よくいただくのが「それって、CVS でも Subversion でも Git でもできるよね?」という反応。

ですが FishEye には、以下のような優れた機能があり、これが世界中の開発組織で FishEye が利用される理由になっています。

  • さまざまなバージョン管理システムと連携することができます。エンタープライズの開発チームは多種のバージョン管理システムを使用していると思いますが、FishEye からすべてのコードを一元的に把握できます。
  • 優れたレポート機能を使って、例えば開発者ごとのコミット数や、リポジトリ/ブランチごとのコード行数の推移等を閲覧できます。開発プロジェクトがどのように進行しているのか、具体的な数値をベースに把握できます。
  • SQL ライクな EyeQL というクエリ言語を使って、ソースコードを検索できます。例えば、「あるブランチの特定のリビジョン間で、指定した開発者によっておこなわれた変更を確認したい」「指定した日付間でおこなわれたコミットを確認したい」といった要件も、この EyeQL を使う事で満たせます。

FishEye は、このように単体でも優れた機能を持つ製品ですが、それだけではなく、JIRA と連携する事で、課題管理ツールとバージョン管理システムの統合を媒介する事もできます。これから、具体的に「できること」をご説明したいと思います。

コミット情報を JIRA 課題に表示

JIRA と FishEye を連携すると、チェンジセットをバージョン管理システムにコミットする際に、JIRA の課題番号をコメントに入れる事で、課題とチェンジセットを関連づける事ができます。

ゴーツーグループ ブログ : JIRA と FishEye の連携 (JIRA に追加された [Source] タブ)

上のスクリーンショット (英語版) のように、JIRA 課題に [Source] というタブができ、関連するチェンジセットが表示されます。さらに、ファイル名の隣にあるリンクをクリックする事で、ソース ファイルの表示前のリビジョンとの差分の表示ファイル履歴の表示ファイルのダウンロード といった操作が行えます。

また、プロジェクトの画面からも、そのプロジェクト全体に関連するコミットの履歴を簡単に閲覧する事が可能です。

ゴーツーグループ ブログ : JIRA と FishEye の連携 (JIRA プロジェクト画面でのコミット履歴の確認)

FishEye のガジェットを JIRA 上から閲覧

最初の節で、FishEye を利用する事でリポジトリの様々な統計情報を利用する事ができると述べました。JIRA と FishEye を統合すれば、そのような情報を JIRA のダッシュボードから閲覧する事が可能になります。例えば、開発プロジェクトのダッシュボードを作成し、チェンジセットの履歴を表示するガジェットをその中に含める事もできます。

ゴーツーグループ ブログ : JIRA と FishEye の連携 (FishEye のガジェットを JIRA 上から閲覧)

また、リポジトリの中のコード行数や、コミット回数の推移をあらわすガジェットも利用できます。

ゴーツーグループ ブログ : JIRA と FishEye の連携 (FishEye のガジェットを JIRA 上から閲覧 2)

スマート コミットでバージョン管理システムから JIRA 課題を操作

バグのあるコードを修正し、バージョン管理システムにコミットしてから、そのバグに関する JIRA の課題をクローズするのを「二度手間だな」と感じた事は無いでしょうか。スマート コミットを利用すれば、バージョン管理システムにコードをコミットする際に、JIRA の課題ステータスを変更する事ができます。

ゴーツーグループ ブログ : JIRA と FishEye の連携 (スマート コミット機能)

それだけでなく、スマート コミットを使えば、例えばタイム トラッキングの時間を記録したり、複数の課題を同時に解決したりと、複雑な操作も可能になります。

まとめ

これまで、JIRA と FishEye を連携する際のメリットについて説明してきました。無償で入手できる課題管理ツールの中には、バージョン管理システムとの統合をうたっているものもありますが、それらが連携できるバージョン管理システムの種類は限られています (典型的には、SubVersion です)。その場合、組織が異なるバージョン管理システムを使っていれば、連携機能はあきらめるしか無い、という事になってしまいます。

しかし、FishEye の強みは多様なバージョン管理システムと連携できる事です。CVS、SubVersion、Perforce、Git や Mercurial、ClearCase といったバージョン管理システムをご利用のお客様は、FishEye との統合が可能ですので、是非 FishEye の検証、評価をご検討いただければと思います。ご覧いただき、ありがとうございました。


Related Articles

お気軽にお問い合わせください

お問い合わせ