Scarabメモ

作成 2003/10/22

Scarabとは

Scarabって何?

Scarab(すからべ)はIssue Tracking System(出来事追跡システム)です。 Issue Tracking Systemとは、例えばバグの登録、検索、修正履歴などを保存し管理するシステムです。バグだけでなく、機能要求や、TODOリストなどを管理します。Issue TrackingシステムではBugzillaが有名ですが、その他、いろいろなものがあるようです。

バグ管理ツールのリスト
http://www.opensourcetesting.org/bugdb.php

Scarabは、Tigris.orgのScarabプロジェクトで開発されているオープンソースのソフトウェアです。また、Scarabは、Javaサーブレットベースで動作し、Jakarta Turbineフレームワーク上に構築されています(Velocity、Torque、Fulcrumも利用されています)。データはRDBに格納します。

インストール

Scarabはサーブレットコンテナ上で動作し、データはRDBに格納します。なので、なんらかのサーブレットコンテナとRDBが必要です。ただし、Scarabには、Tomcatが付属しているので、付属のTomcatを利用するのであれば、別途アプリケーションサーバは不要です。その他に、メールを送信するにはSMTPサーバ、ビルド用にAntが必要となります。ここでは次の環境で実験しました。

http://scarab.tigris.org/からアーカイブをダウンロードします。現時点の最新バージョンは1.0 Beta 17 (17!?)です。ダウンロードしたアーカイブを適当なディレクトリに展開します。ここでは、C:\app\scarab-1.0-b17に配置しました。

設定

ビルド方法は、Scarab-jaに簡潔にまとめられています。ここで、また改めて書く必要性はないかもしれませんが、一応やったことのメモとして、書いておきます。ビルドの説明はまた、README.txtにも記述されています。

ScarabのWebアプリケーションはビルドを実行することで作成します。ビルドはAntで実行し、ビルドファイルはbuildディレクトリのbuild.xmlです。環境に合わせた設定をプロパティーファイルに記述します。build.xmlで記述されている「property file=""」で指定されたプロパティーファイルを設定ファイルとして読み込みます。なおbuild.xml上で先に指定されている方が優先です。

ここではbuildディレクトリ直下にbuild.propertiesという名前でファイルを新規作成します。ここで省略した値はdefault.propertiesの値が使われます。以下はMySQLでの設定です。

build.properties(Scarab-jaのインストールの説明を参考にしました)

scarab.database.username=hoge
scarab.database.password=hoge
scarab.database.encoding.querystring = ?useUnicode=true&characterEncoding=EUC-JP

scarab.user.username=hoge@hoge.com
scarab.user.password=hoge
scarab.user.firstname=Taro
scarab.user.lastname=Yamada
scarab.user.email=${scarab.user.username}

scarab.site.name=My Scarab System
scarab.timezone=Asia/Tokyo
scarab.system.mail.host=mail.myhost

scarab.email.encoding=iso-2022-jp
scarab.email.register.fromAddress=hoge@hoge.com
scarab.email.forgotpassword.fromAddress=hoge@hoge.com
scarab.email.archive.toAddress=hoge@hoge.com

コンパイル

コマンドプロンプトで、buildディレクトリに移動し、antを実行します。デフォルトターゲットのcompileが実行され、targetディレクトリに必要なファイルが作成されます。

ant

DB作成

さらにcreate-dbターゲットを実行します。DB作成、テーブル作成が行われます。

ant create-db

これで、実行準備が整いました。

実行

target/binのstartup.batを実行します。ブラウザで「http://localhost:8080/scarab」にアクセスします。正常であれば、Scarabのトップページが表示されます。

Scarab Top画面

Scarabの利用

起動したはいいけど、最初何をすればいいんだ!?、とならないために、プロジェクト(モジュール)を作って、バグを登録するとこまでのメモを書いておきます。

このあたりちょっと触ってみてこんな感じだろう、という説明なので、もしかしたら間違っているかもしれません。

プロジェクト(モジュール)の作成

最初にシステムユーザーでログインし、モジュールを作成します。まず、システムユーザーでログインします(※1)。

※1 私の環境、手順では、システムユーザーが最初のbuild.propertiesで指定したパスワードでログインできませんでした。理由は不明ですが、パスワードを再発行、再承認することで、対処しました。パスワードの再発行は、トップ画面の「パスワードを忘れた方は、こちらをクリック」から行います。パスワードがメールで送信されるので、メールサーバが必要になります。

左側の管理メニューのモジュールを選択します。そして「新規作成」を選択します。

モジュール編集画面で必要な情報を入力し、「作成」を選択します。

モジュールの管理画面で作成したモジュールが追加されます。

ユーザーの作成

管理者がユーザーを作成するのは、左側の管理メニューのユーザから行います。ユーザー検索画面で、作成したユーザーに対し、「ロールの編集」を行うことで、モジュールに対する参加や権限の設定を行うことが出来ます

ロールの意味(@TODO)
ロール名 説明
Developer  
Observer  
Partner  
Project  
Owner  
QA  
Root  

また、管理者でなく新規のユーザーが自分で登録するには、トップメニューの「アカウントの作成」から登録を行います。この場合は、メールへ認証コードが送信され※1、それを再度Web上で入力する必要があります。さらに、ロールをリクエストして、管理者がそれを承認します。

※1 現状、デフォルトで文字化けしてますが、ランダムな文字列っぽいところが承認コードです。

案件の登録

画面左上の「モジュール」を選択すると、モジュール一覧が表示されます。そこで、先ほど作成したモジュールを選択します。画面左上に選択したモジュール名が表示されます。

案件のトラッキングの「enter new issue」を選択します。モジュールの案件種別が表示されます。次に登録する案件の種別を選択します。ここではDefectを選択します。

案件の種別の意味(@TODO )
名前 説明
Defect  
Patch  
Task  
Feature  
Enhancement  

Enter new Defect画面で、必要な情報を入力して、「次」を選択します。次画面で、詳細な情報を入力できます。最低限Descriptionは入力する必要があるようです。「案件の投稿」を入力します。

「この案件にユーザを関連づける」画面で、担当者(assigned to)を選択できます。「完了」を選択します。

案件の選択

画面上の方のクエリ選択のところで、登録した案件を検索することが出来ます。

まとめ

感想

上の例では、Scarabの利用を管理者で全部行っていますが、実際はバグを発見した人が入力し、開発者の誰かがアサインを行うと思われます。何かアクションがあるたびにログに記録され、関連ユーザーにはメールで通知されます。Scrabでは、権限や、表示項目などは、様々に設定が可能です。日本語がまだ対応していない部分もありますが、それなりに使いやすいシステムのような気がします。また、Jakartaツールがいろいろと使われています。Ant、Torqueなどを使ったことのある人なら、利用例として参考になるかもしれません。

バグの管理は、これまで、ExcelやNotes等のグループウェアで行ってきましたが、レポートやメール送信機能を含めた、Issue Trackingのシステムを使ってみるのも便利かなぁ、ということで、機会があれば、使ってみたいと思いました(今回はその下調べ)。

参考

Scarab(本家)
http://scarab.tigris.org/

Scarab-ja
http://scarab-ja.sourceforge.jp/cgi-bin/hiki.cgi

Scarab Issue Traking System
http://goas.no-ip.org/~koichiro/scarab/


Top