Claude CodeとN8nを使用したGitHubのissue管理・開発フローの自動化システムです。ラベルベースでissueの分析、実装、レビューを自動実行します。
- Issue分析:
workflow:ready-for-analysisラベルでClaude Code actionによる自動分析 - 自動実装:
workflow:ready-for-implラベルでPR作成・実装 - 自動レビュー:
workflow:ready-for-reviewラベルでコードレビュー - PostgreSQLによるデータ永続化
- GitHubのwebhookによるリアルタイム連携
- Docker & Docker Compose
- GitHub Personal Access Token (repo権限)
- Anthropic API キー(Claude Code action用)
- GitHubリポジトリでClaude Code actionが有効化されていること
# .envファイルを作成
cp .env.example .env.envファイルに以下を設定:
# PostgreSQL設定
POSTGRES_USER=n8n_user
POSTGRES_PASSWORD=your_secure_password
POSTGRES_DB=n8n_db
POSTGRES_NON_ROOT_USER=n8n_app
POSTGRES_NON_ROOT_PASSWORD=your_app_password
# GitHub設定
GITHUB_TOKEN=your_github_personal_access_token
GITHUB_REPO_OWNER=your_username
GITHUB_REPO_NAME=your_repository
# Claude Code設定(GitHub Actionsで@claudeメンション用)
ANTHROPIC_API_KEY=your_anthropic_api_keyinit-data.shファイルが既に含まれています(docker-compose.ymlで自動実行されます)。
# コンテナ起動
docker-compose up -d
# ログ確認
docker-compose logs -f n8nn8nは http://localhost:5678 でアクセス可能です。
完全自動セットアップ:
# 全自動セットアップ(推奨)
./scripts/setup_complete.shこのスクリプトが以下を自動実行します:
- Docker Compose でサービス起動
- PostgreSQL とn8nの起動待機
- ワークフローの自動インポート
- サブワークフローIDの自動取得・設定
- n8n環境変数の自動更新
システム起動後、以下のスクリプトでワークフローを自動インポート:
# ワークフローインポートのみ
./scripts/import_workflows.shこのスクリプトが以下を実行:
- 全ワークフローファイルの自動インポート
- サブワークフローIDの自動取得
- PostgreSQL環境変数テーブルの自動更新
- n8nコンテナの再起動
-
n8n管理画面 (
http://localhost:5678) にアクセス -
各ワークフローファイルをインポート:
n8n/workflows/Label_Manager_Flow.json(メインワークフロー)n8n/workflows/Issue_Analysis_Subworkflow.jsonn8n/workflows/Implementation_Execution_Subworkflow.jsonn8n/workflows/Review_Execution_Subworkflow.json
-
各サブワークフローのIDを確認し、環境変数を更新:
# docker-compose.ymlの環境変数を実際のIDに更新 N8N_ANALYSIS_SUBWORKFLOW_ID=実際のワークフローID N8N_IMPL_SUBWORKFLOW_ID=実際のワークフローID N8N_REVIEW_SUBWORKFLOW_ID=実際のワークフローID
GitHubリポジトリの Settings > Webhooks で新しいwebhookを作成:
- Payload URL:
http://your-server:5678/webhook/github-label-analysis - Content type:
application/json - Secret: 任意(推奨)
- Events:
Issues,Pull requests,Issue comments
ローカル開発時はngrokでトンネルを作成:
# ngrokでポート5678を公開
ngrok http 5678
# 表示されたURLをGitHub webhookに設定
# 例: https://abc123.ngrok.io/webhook/github-label-analysis-
分析フェーズ:
- Issueに
workflow:ready-for-analysisラベルを追加 @claudeメンション(Claude Code action)が自動でissueを分析し実装計画を作成- 完了後、
workflow:ready-for-implラベルが自動追加
- Issueに
-
実装フェーズ:
workflow:ready-for-implラベルで@claudeメンションによるPR作成・実装が自動実行- 完了後、
workflow:ready-for-reviewラベルが自動追加
-
レビューフェーズ:
workflow:ready-for-reviewラベルで@claudeメンションによる自動レビューが実行
以下のラベルをGitHubリポジトリに作成してください:
# GitHubでラベル作成
gh label create "workflow:ready-for-analysis" --color "0e8a16"
gh label create "workflow:ready-for-impl" --color "fbca04"
gh label create "workflow:ready-for-review" --color "d93f0b"- webhook URLとイベント設定を確認
- n8nのログを確認:
docker-compose logs n8n - PostgreSQL接続を確認:
docker-compose logs postgres
# PostgreSQLコンテナを再起動
docker-compose restart postgres
# データベース初期化のやり直し
docker-compose down -v
docker-compose up -d# n8n CLIでワークフロー一覧を確認
docker-compose exec n8n n8n list:workflowdocker-compose.yml: コンテナ構成とサービス定義n8n/workflows/: n8nワークフロー定義ファイルinit-data.sh: PostgreSQL初期化用スクリプト(実行権限付与済み)scripts/: 自動化スクリプト群setup_complete.sh: 完全自動セットアップimport_workflows.sh: ワークフロー自動インポートupdate_workflow_ids.sh: サブワークフローID自動更新
MIT License