Redmineとバージョン管理システムの連携
RedmineはSubversion等各種バージョン管理ツールとの連携機能を持っています。
リポジトリへのコミット時、コミットメッセージに特別な記述を追加することで以下の処理をRedmineに自動的に行わせることができます。
ソースコードの修正がどのチケットに基づくものなのか把握できます。
あるチケットに記述された課題に対してどのようにソースコードが変更されたのかを把握できます。
あらかじめ各プロジェクトの「設定」画面の「リポジトリ」タブで、バージョン管理システムの情報を設定しておく必要があります。
例えばSubversionを利用する場合は以下の内容を設定します。
バージョン管理システム | "Subversion"を選択 |
---|---|
メインリポジトリ | ONにすると「リポジトリ」タブをクリックしてデフォルトで表示されます。また、チケットやWikiからリポジトリにリンクする際に識別子を省略するとメインリポジトリへのリンクとなります。 |
識別子 | チケットやWikiからリポジトリを指定してリンクを行うとき、リポジトリを特定するために識別子を使用します。メインリポジトリ以外は識別子が必須です。 |
URL | SubversionのURLを指定(例: http://example.jp/svn/repos/) |
ログインID | Subversionリポジトリにアクセスするためのユーザー名 |
パスワード | Subversionリポジトリにアクセスするためのパスワード |
「保存」ボタンを押して設定を保存すると、プロジェクトメニューに「リポジトリ」が追加されます。クリックして「リポジトリ」画面を開き、リポジトリ内のディレクトリやファイル、これまでのリビジョンが表示されることを確認してください。
チケットの番号を特定のキーワード(参照用キーワード)とともにコミットログに記述すると、Redmine上でチケットとリビジョンを関連づけが行われます。これにより、Redmineの画面ではチケットとリビジョンを相互に参照できるようになります。
デフォルトでは次の参照用キーワードが利用できます。参照用キーワードは「管理」→「設定」→「リポジトリ」の設定項目「参照用キーワード」で変更することもできます。
- refs #nnn
- references #nnn
- IssueID #nnn
$ svn commit -m '○○○機能を利用時の△△△な問題を修正。 refs #123'
※’refs #123’の前後に空白、改行以外の文字があるとキーワードとして認識されません。例えば、上の例では読点(。)と’refs 123’の間は半角スペースが必要です。
「管理」→「設定」→「リポジトリ」画面で「参照用キーワード」に *
を追加すると次のようにチケット番号のみの記述で関連づけを行うこともできます。
- #nnn
- (#nnn)
設定手順は下記でご確認ください。
コミットメッセージでチケット番号を記載し忘れたり誤ったチケット番号を記載したときなどは、「リポジトリ」画面で関連づけを修正することができます。詳細は以下のページを参照してください。
- Redmine 1.4新機能紹介: チケットとリビジョンの関連づけの追加・削除 (Redmine.JP Blog)
ソースコードのコミットと同時にチケットのステータスや進捗率を更新することができます。Redmineの画面を開かずにリポジトリへのコミットだけでチケットを更新できるので便利です。
コミットと同時にチケットの更新するには、チケットの番号を fixes , closes というキーワード(修正用キーワード)とともに記述してください。前述したチケットとリビジョンの関連づけに加えて、チケットのステータスと進捗率の更新が行われます。デフォルトではステータスが「終了」に、進捗率が「100%」に更新されます。
修正用キーワード、修正用キーワードの利用により設定されるステータスや進捗率は、Redmineの「管理」→「設定」→「リポジトリ」画面で変更することもできます。
Redmineはチケットに対して作業実施のために要した時間を記録することができますが、コミットメッセージ経由で作業時間を記録することもできます。
作業時間は、前述の参照用キーワード、修正用キーワードによるチケット番号の記述の後に @
とともに作業時間を記述します。
$ svn commit -m '○○○機能を利用時の△△△な問題を修正。 refs #123 @2.5h'
コミットメッセージによる作業時間の記録を行うためには事前の設定が必要です。設定手順は以下の記事でご確認ください。
- Redmine 1.1 新機能紹介: コミットメッセージによる作業時間の記録 (Redmine.JP Blog)
- 「リポジトリ」を開くまでSubversion等のリポジトリへのコミットが「活動」に表示されません
- 参照用キーワード(refsなど)無しでリビジョンとチケットを関連づける
- コミットと同時にリポジトリの情報を取得する (Redmine.JP Blog)
- Redmine 1.1 新機能紹介: コミットメッセージによる作業時間の記録 (Redmine.JP Blog)
- Redmine 1.4新機能紹介: チケットとリビジョンの関連づけの追加・削除 (Redmine.JP Blog)