コンテンツへスキップ

Claude Code × Docker Redmine 連携のすすめ ― AIがチケットを読んで、直して、報告してくれる開発環境

POSII COLUMN

Claude Code × Docker Redmine
連携のすすめ

——AIがチケットを読んで、直して、報告してくれる開発環境

「AIにコードを書かせる」のはもう当たり前になりました。次の一歩は、AIをプロジェクト管理の輪の中に入れることです。

私は開発タスクの管理に、Dockerで立てたRedmine(レッドマイン)を使っています。そこにClaude Code(Anthropic製のCLI型AIエージェント)を連携させたところ、開発の回り方が一変しました。この記事では「そもそもRedmineって何?」というところから、画面イメージ付きで紹介します。

そもそもRedmineとは?――仕事を「チケット」で管理する道具

Redmineは、無料で使える老舗のプロジェクト管理ツールです。核になる考え方はとてもシンプルで、やること1件を「チケット」1枚にして管理する、それだけです。ホワイトボードに貼った付箋のデジタル版だと思ってください。

チケット一覧(プロジェクト:会員サイト開発)
#101 ログイン画面のバグを直す 進行中担当:自分 期日:7/30
#102 CSVエクスポート機能を追加 新規担当:Claude 期日:8/5
#103 トップページの表示崩れを直す 終了担当:自分 7/25完了
▲ チケット一覧のイメージ。「誰が・いつまでに・何をやるか」と進み具合がひと目でわかる

チケット1枚には「担当者」「期日」「状態(新規→進行中→終了)」が付き、やり取りは「注記」というコメントとしてチケットに積み重なっていきます。

#101 ログイン画面のバグを直す 進行中
説明
パスワードに記号が入っているとログインできない。エラーメッセージも表示されない。
自分
自分 — 7/28 10:15

原因わかった。入力チェックの正規表現が古い。明日直します。

同僚
同僚 — 7/28 10:40

了解です。直ったら会員ページの方も同じ症状がないか見てもらえると助かります。

▲ チケットを開いたところ。経緯が「注記」として全部残る

LINEやメール、チャットとの最大の違いは「話が流れない」こと。1案件=1チケットなので、「あの件どうなったっけ?」はチケットを開けば経緯ごと全部わかります。

そしてこのチケット管理、実は人間同士で使うよりも、人間×AIのチームで真価を発揮します。ここからが本題です。

なぜ「Docker」で立てるのか

RedmineはDocker(アプリを箱ごと動かす仕組み)を使うと、docker compose up -d というコマンド一発で自分のPCの中に立ち上がります。ホスト環境を汚さず、壊れても箱ごと作り直せばいいので、AIに触らせる実験台としても安心です。つまり「AIが読み書きしやすい管理ツール」を「壊れてもいい形」で持てるわけです。

構成の全体像

自分のPCの中に、この3つをつないだ環境を作ります。

Claude Code(AIエージェント)あなたのPCで動く、もう一人の開発者
▲▼ ① REST APIでチケットを読み書き
Redmine(Docker上 / localhost:3000)チケットでタスクとやり取りを管理
▲ ② リポジトリを読み取り専用で共有
開発プロジェクトのコード(Djangoなど)コミット(変更履歴)がチケットに紐づく
▲ 連携の全体像。AIとチケット管理とコードが一本の線でつながる

RedmineにはREST APIという「プログラムからチケットを操作する窓口」が最初から付いています。管理画面でAPIを有効化してAPIキーを控えれば、Claude Codeがチケットの検索・作成・注記をすべて代行できるようになります。

セットアップ:docker-compose.yml はこれだけ

設定ファイルはシンプルで大丈夫です。ただし日本語チケットを扱うなら文字コード指定(utf8mb4)だけは必須です。

services:
  redmine:
    image: redmine:latest
    ports:
      - "3000:3000"
    depends_on:
      - db
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: example
      REDMINE_DB_ENCODING: utf8mb4   # 絵文字・日本語対策で必須
    volumes:
      - ./files:/usr/src/redmine/files
      - ./repos:/repos:ro            # 開発リポジトリを読み取り専用で
  db:
    image: mysql:8
    # ここがポイント。MySQL側もutf8mb4で起動させる
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: redmine
    volumes:
      - db_data:/var/lib/mysql   # 消えると困るので名前付きボリュームに

volumes:
  db_data:

便利ポイント①:「チケット切っといて」が一言で終わる

Claude Codeに一度APIキーとURLを教えておけば、あとは会話で頼むだけです。

「今日のリファクタリング内容、Redmineにチケット切っといて」
「#123 に調査結果をメモとして残して」
「未完了チケットを優先度順に一覧して」

特に効くのが一括登録です。要件定義の議事録を渡して「これをチケットに分解して全部登録して」と言えば、Claude Codeが数十件のチケットを一気に登録してくれます。手作業なら1時間の作業が1分です。

便利ポイント②:チケット駆動でAIに開発させる

逆方向も強力です。チケットの説明文が、そのままAIへの指示書になります。

「Redmineの #456 を読んで、その内容を実装して。終わったら結果をチケットに注記して」

  • 読む:AIがチケット #456 の説明と過去の注記を取得
  • 直す:コードを修正し、テストを実行
  • 報告する:対応内容・変更ファイル・確認方法をチケットに書き戻し

仕様の置き場所とAIへの指示書が一本化されるので、「チャットに書いた指示が流れて消える」問題がなくなります。

便利ポイント③:「@claude」注記で無人実行まで行ける

さらに一歩進めると、Redmineに注記を書くだけでAIが自動で動く仕組みも作れます。私の環境では、常駐スクリプトが1分ごとに新しい「@claude」注記をチェックし、見つけたらClaude Codeを起動して、結果をチケットに書き戻すところまで無人で回っています。実際のチケットはこんな見た目になります。

#456 会員登録に「メール確認欄」を追加 進行中
自分
自分 — 12:03(外出先のスマホから)

@claude この内容で実装して。終わったらテストを回して、結果をこのチケットに注記して。

AI
Claude Code 自動実行 — 12:09

実装完了しました。forms.py と register.html を修正、確認用メール欄の不一致チェックを追加。テスト12件すべてパス。コミット abc1234(refs #456)。

▲ スマホから注記を書いておくだけ。6分後にはAIが実装を終え、報告まで書き戻している

外出先からスマホでRedmineに注記を書いておけば、帰宅する頃には作業が終わってチケットに報告が付いている――そんな運用が現実になります。

便利ポイント④:git連携でコミットとチケットが繋がる

Redmineには標準でgit連携があります。コミットメッセージに refs #123 と書けばチケットに変更履歴が紐づくので、「このチケット、実際どのコードで直したんだっけ?」がAIにも人間にも一目瞭然になります。Claude Codeにも「コミットメッセージに refs #番号 を入れて」とルール化しておけば、履歴が自動で整います。

ハマりどころ(先に知っておくと楽)

  • 文字コードはutf8mb4必須:データベースがデフォルト設定のままだと、絵文字入りの注記を書いた瞬間にエラーになります。AIは絵文字を使いたがるので特に要注意。
  • APIキーの管理:キーをコードと一緒に公開しないよう、環境変数か除外設定済みのファイルに置きましょう。
  • Windows+Git Bashのパス変換:docker exec にコンテナ内パスを渡すと C:/Program Files/… に化けることがあります。MSYS_NO_PATHCONV=1 を付けると回避できます。
  • 自動実行は権限を絞る:@claude自動実行のような無人運用では、削除系・公開系の操作は許可しない設定にしておくのが安全です。

まとめ:AIを「相棒」から「チームメンバー」へ

Claude Code単体でも十分優秀ですが、Redmineと繋ぐことで、開発体験が一段変わります。

  • 残る:指示と仕様がチケットとして蓄積される
  • 繋がる:コミット・チケット・AIの作業ログが一本の線で追える
  • 回る:注記ひとつでAIが動き、報告まで自動で返ってくる

まるでもう一人のチームメンバーを迎えたような感覚です。DockerでRedmineを立てるところまでなら30分もかかりません。

Claude Codeを使っている方は、ぜひ「AIの隣にプロジェクト管理を置く」一手を試してみてください。

アイキャッチ画像:Shipping container stacks – Port of Rotterdam(AgainErick, CC BY-SA 4.0 / Wikimedia Commons)

最後までお読みいただき、心より感謝申し上げます。

大河原潤

大河原 潤

AI開発専門家

ブーム以前からAI研究に携わる、本物の専門家。「AIに使われる」のではなく、「AIを使いこなす」確かな技術力を提供します。

【アカデミックな裏付け】

  • カリフォルニア大学リバーサイド校 博士前期課程修了(研究分野:測度論、経路積分)
  • アメリカ数学会のジャーナルに論文発表

【社会的に認められた専門性】

  • AI関連書籍:『誤解だらけの人工知能』(2018年)、『AI×Web3の未来』(2023年)
  • プログラミング専門書:実務的な技術書を2冊出版(確かな実装力の証明)
  • 100社以上のAI導入コンサルティング実績、特許売却経験あり