|
|
|
"""
|
|
GitHub ISSUE連携テストスクリプト
|
|
外部ユーザーからのアクセス方法を確認
|
|
"""
|
|
|
|
import os
|
|
import requests
|
|
import json
|
|
from datetime import datetime
|
|
|
|
class GitHubIssueDemo:
|
|
"""GitHub ISSUE連携のデモシステム"""
|
|
|
|
def __init__(self):
|
|
|
|
self.github_token = os.environ.get('GITHUB_TOKEN', 'demo_token')
|
|
self.repo_owner = 'your-username'
|
|
self.repo_name = 'prompt-automation'
|
|
|
|
def create_demo_issue(self):
|
|
"""デモ用のISSUEを作成(シミュレーション)"""
|
|
demo_issue = {
|
|
"title": "🚀 システム生成リクエスト: FastAPI + Vue.js Eコマースシステム",
|
|
"body": """
|
|
## 📋 システム生成リクエスト
|
|
|
|
### 🎯 システム概要
|
|
FastAPIバックエンドとVue.jsフロントエンドを使用したEコマースシステムの生成をお願いします。
|
|
|
|
### 🔧 技術要件
|
|
- **バックエンド**: FastAPI + SQLAlchemy + PostgreSQL
|
|
- **フロントエンド**: Vue.js 3 + Vuetify
|
|
- **認証**: JWT認証
|
|
- **決済**: Stripe連携
|
|
- **デプロイ**: Docker対応
|
|
|
|
### 📝 機能要件
|
|
1. ユーザー登録・ログイン
|
|
2. 商品管理(CRUD)
|
|
3. ショッピングカート
|
|
4. 注文管理
|
|
5. 決済処理
|
|
6. 管理者ダッシュボード
|
|
|
|
### 🎨 デザイン要件
|
|
- レスポンシブデザイン
|
|
- モダンなUI/UX
|
|
- ダークモード対応
|
|
|
|
### 📊 その他の要求
|
|
- API仕様書自動生成
|
|
- テストコード含む
|
|
- CI/CD設定
|
|
- Docker Compose設定
|
|
|
|
---
|
|
**リクエスト者**: 外部ユーザー
|
|
**優先度**: 中
|
|
**期限**: 1週間以内
|
|
|
|
このシステムが生成されたら、以下の方法で通知をお願いします:
|
|
- このISSUEにコメント
|
|
- 生成されたリポジトリのURL共有
|
|
- 簡単な使用方法の説明
|
|
""",
|
|
"labels": ["system-generation", "prompt-request", "ecommerce"],
|
|
"assignees": [],
|
|
"number": 1,
|
|
"created_at": datetime.now().isoformat(),
|
|
"user": {
|
|
"login": "external-user",
|
|
"avatar_url": "https://github.com/identicons/external-user.png"
|
|
}
|
|
}
|
|
|
|
return demo_issue
|
|
|
|
def simulate_issue_processing(self, issue):
|
|
"""ISSUE処理のシミュレーション"""
|
|
print("🔍 GitHub ISSUE処理シミュレーション")
|
|
print("=" * 50)
|
|
|
|
|
|
print(f"1️⃣ ISSUE検出: #{issue['number']}")
|
|
print(f" タイトル: {issue['title']}")
|
|
print(f" 作成者: {issue['user']['login']}")
|
|
print(f" ラベル: {', '.join(issue['labels'])}")
|
|
print()
|
|
|
|
|
|
print("2️⃣ プロンプト抽出中...")
|
|
extracted_prompt = {
|
|
"title": "FastAPI + Vue.js Eコマースシステム",
|
|
"content": issue['body'],
|
|
"system_type": "ecommerce",
|
|
"priority": "medium",
|
|
"technologies": ["FastAPI", "Vue.js", "PostgreSQL", "Docker"]
|
|
}
|
|
print(f" 抽出完了: {extracted_prompt['title']}")
|
|
print()
|
|
|
|
|
|
print("3️⃣ 承認キューに追加中...")
|
|
print(f" ステータス: 承認待ち")
|
|
print(f" 推定実行時間: 15-30分")
|
|
print()
|
|
|
|
|
|
print("4️⃣ 承認処理中...")
|
|
print(f" 承認者: システム管理者")
|
|
print(f" 承認理由: 技術要件が明確で実装可能")
|
|
print()
|
|
|
|
|
|
print("5️⃣ システム生成開始...")
|
|
print(f" GPT-ENGINEER実行中...")
|
|
print(f" 生成進捗: █████████████████████ 100%")
|
|
print()
|
|
|
|
|
|
print("6️⃣ GitHub連携中...")
|
|
demo_repo_url = f"https://github.com/{self.repo_owner}/generated-ecommerce-system"
|
|
print(f" 新規リポジトリ作成: {demo_repo_url}")
|
|
print(f" コード生成・プッシュ完了")
|
|
print()
|
|
|
|
|
|
print("7️⃣ 結果通知中...")
|
|
print(f" GitHub ISSUEにコメント投稿")
|
|
print(f" Google Chat通知送信")
|
|
print()
|
|
|
|
|
|
print("✅ 処理完了")
|
|
print(f" 総実行時間: 18分32秒")
|
|
print(f" 生成リポジトリ: {demo_repo_url}")
|
|
print(f" ISSUE更新: クローズ済み")
|
|
|
|
return {
|
|
"status": "completed",
|
|
"repo_url": demo_repo_url,
|
|
"execution_time": "18分32秒",
|
|
"issue_status": "closed"
|
|
}
|
|
|
|
def generate_user_guide(self):
|
|
"""外部ユーザー向けの使用ガイド生成"""
|
|
guide = """
|
|
# 🚀 自動システム生成サービス - 使用ガイド
|
|
|
|
## 📋 概要
|
|
このサービスは、GitHub ISSUEを通じて誰でも自動システム生成を依頼できるサービスです。
|
|
|
|
## 🔧 使用方法
|
|
|
|
### 1️⃣ GitHub ISSUEの作成
|
|
1. 対象リポジトリにアクセス
|
|
2. 「Issues」タブをクリック
|
|
3. 「New issue」ボタンをクリック
|
|
4. 以下のテンプレートを使用
|
|
|
|
### 2️⃣ ISSUEテンプレート
|
|
```markdown
|
|
## 📋 システム生成リクエスト
|
|
|
|
### 🎯 システム概要
|
|
[生成したいシステムの概要を記述]
|
|
|
|
### 🔧 技術要件
|
|
- バックエンド: [使用技術]
|
|
- フロントエンド: [使用技術]
|
|
- データベース: [使用技術]
|
|
- その他: [追加要件]
|
|
|
|
### 📝 機能要件
|
|
1. [機能1]
|
|
2. [機能2]
|
|
3. [機能3]
|
|
|
|
### 🎨 デザイン要件
|
|
- [デザイン要件]
|
|
|
|
### 📊 その他の要求
|
|
- [その他の要求]
|
|
|
|
---
|
|
**優先度**: [高/中/低]
|
|
**期限**: [期限があれば記載]
|
|
```
|
|
|
|
### 3️⃣ 必須ラベル
|
|
ISSUEに以下のラベルを追加してください:
|
|
- `system-generation`
|
|
- `prompt-request`
|
|
|
|
### 4️⃣ 処理フロー
|
|
1. **ISSUE検出** - 24時間以内に自動検出
|
|
2. **内容確認** - システム管理者による確認
|
|
3. **承認処理** - 技術要件の妥当性確認
|
|
4. **システム生成** - GPT-ENGINEERによる自動生成
|
|
5. **結果通知** - ISSUEにコメントで結果報告
|
|
|
|
### 5️⃣ 納期
|
|
- **簡単なシステム**: 1-3時間
|
|
- **中規模システム**: 4-12時間
|
|
- **大規模システム**: 1-3日
|
|
|
|
### 6️⃣ 料金
|
|
現在は**無料**でサービスを提供しています。
|
|
|
|
## 📞 サポート
|
|
問題がある場合は、ISSUEにコメントしてください。
|
|
|
|
---
|
|
**サービス運営**: AI Automation Team
|
|
**最終更新**: 2025年6月11日
|
|
"""
|
|
|
|
return guide
|
|
|
|
def main():
|
|
"""メイン実行"""
|
|
demo = GitHubIssueDemo()
|
|
|
|
print("🚀 GitHub ISSUE連携システム - デモンストレーション")
|
|
print("=" * 60)
|
|
print()
|
|
|
|
|
|
demo_issue = demo.create_demo_issue()
|
|
|
|
|
|
result = demo.simulate_issue_processing(demo_issue)
|
|
|
|
print("\n" + "=" * 60)
|
|
print("📚 外部ユーザー向けガイド")
|
|
print("=" * 60)
|
|
|
|
|
|
guide = demo.generate_user_guide()
|
|
print(guide)
|
|
|
|
|
|
print("\n" + "=" * 60)
|
|
print("📊 実装状況サマリー")
|
|
print("=" * 60)
|
|
|
|
implementation_status = {
|
|
"データベース設計": "✅ 完了",
|
|
"プロンプト管理": "✅ 完了",
|
|
"承認システム": "✅ 完了",
|
|
"GitHub API連携": "🔄 テスト中",
|
|
"GPT-ENGINEER統合": "🔄 準備中",
|
|
"自動通知システム": "🔄 準備中",
|
|
"外部ユーザーアクセス": "🔄 テスト中"
|
|
}
|
|
|
|
for feature, status in implementation_status.items():
|
|
print(f"{status} {feature}")
|
|
|
|
print("\n📈 次のステップ:")
|
|
print("1. GitHub API認証設定の完了")
|
|
print("2. GPT-ENGINEER統合の実装")
|
|
print("3. 本番環境での動作テスト")
|
|
print("4. 外部ユーザーへの公開")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|