|
|
|
""" |
|
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() |
|
|