しおしお

IntelliJ IDEAのことなんかを書いてます

RedmineとIntelliJを連携してソースコードの変更管理

RedmineIntelliJを連携してソースコードの変更管理を行う方法。

Redmine側の設定

APIのアクセスキーを取得します。下の画像のように、個人設定->APIアクセスキーから取得できます。
f:id:sioiri:20120923135810p:plain

APIのアクセスキーが表示されない場合は、管理者にRESTアクセスを有効にしてもらいましょう。RESTアクセスの有効化は、管理->設定->認証から行えます。
f:id:sioiri:20120923140035p:plain

IntelliJ側の設定

TasksからRedmineを選択

手順は下の画像を参照
f:id:sioiri:20120923141425p:plain

Redmineのプロジェクト情報を設定

f:id:sioiri:20120923141500p:plain

  • URL

RedmineのURLを設定します。
プロジェクトのURLが「http://192.168.11.10:3000/projects/test」の場合は、「projects」より前なので「http://192.168.11.10:3000」を設定します。

  • UsernameとPassword

Redmineにアクセスするときのユーザ名とパスワードを設定します。

  • Project ID

プロジェクトのIDを設定します。「http://192.168.11.10:3000/projects/test」の場合プロジェクトIDは、「test」になります。

Redmine側で取得したAPIアクセスキーを設定します

接続確認

Testボタンを押して接続確認をしましょう。以下のダイアログがでたらOKです。
f:id:sioiri:20120923141523p:plain

Redmineのチケットを元にタスクの作成

Tool->Tasks & Contexts->Open Taks...を選択します。下の画像のようにダイアログが表示されるので、チケットを選択します。テキストボックスにチケットのタイトルの一部を入力するとフィルタをかけれます。
f:id:sioiri:20120923141926p:plain

IntelliJのプロジェクト内のコードがバージョン管理配下にある場合、Create changelistが選択できるのでチェックONにしましょう。
f:id:sioiri:20120923142740p:plain

Changesウィンドウを確認すると、Redmineのチケットから作成したタスクがチェンジリストとして追加されていることが確認できます。
f:id:sioiri:20120923143159p:plain

作成したTaskを元にコードの変更管理

ソースコードに変更を加えた場合、チェンジリストで変更したソースコードRedmineのチケットから作ったタスクごとに管理されます。

f:id:sioiri:20120923165905p:plain

バージョン管理へのコミットは、該当のチケットを元に作成したチェンジリストを選択して行います。これで、該当のチェンジリスト配下の変更のみがコミットされます。
Redmineリポジトリとの連携を行なっている場合には、コミット履歴とチケットをひもづけられるようにコミットコメントを書くのが良いと思うので、コミットコメントのテンプレートを変更してあげるのがいいでしょう。
テンプレートの変更は、Settings->Tasks->Serversから対象のServersを選んで行えます。
私は、「refs #チケット番号」となるようにコミットコメントのテンプレートを変更しています。
f:id:sioiri:20120923171225p:plain

※他のバグ管理システムを使用した場合でもIntelliJ側の使用感は変わらないはずです。

おわり。