• 0 Open
    1 Closed
    Updated 2025-01-09 16:21:21 +09:00
    2024-12-18

    목표: 기존 GitHub Actions 파이프라인 파악 및 Gitea API 환경에 맞춘 전체 아키텍처 도출
    결과물: 명세서, 설계 문서

    TODO

    • 분석: 기존 GitHub Actions 워크플로우(코드) 분석, 어떤 이벤트를 통해 어떤 API를 호출하는지 정리
    • Gitea 환경 파악: Gitea 버전, 사용 가능한 API 엔드포인트, Webhook 타입, 인증 방법(Token, OAuth) 검토
    • CI 도구 결정: Gitea와 잘 호환되는 CI 툴(예: Drone CI, Jenkins, GitLab Runner 등) 또는 독립 실행 파이썬 스크립트+crontab/webhook 서버 방식을 검토
    • 아키텍처 설계: Gitea(Webhook) → Python 스크립트(API 호출/분석) → Claude/GPT API → 결과 Comment 처리 플로우 정의
    • 기술 스택 확정: Python(3.x), Requests(or httpx), dotenv, Logging 프레임워크, GPT/Claude API 라이브러리(또는 단순 REST 호출)
    • 개발 일정 계획 수립: Milestone별 일정 및 수행자 확정
  • 0 Open
    0 Closed
    Updated 2024-12-16 23:01:31 +09:00
    2024-12-20

    목표: Gitea API를 편리하게 호출하기 위한 Python 모듈 구현 및 Pull Request 정보 수집 테스트
    결과물: Gitea API 호출용 Python 클래스/함수, PR 정보 조회 샘플 코드

    TODO

    • 인증 로직 구현: Personal Access Token 또는 OAuth Token 활용 인증 로직 구현
    • Gitea API Wrapper:
    • 리포지토리 정보 조회 함수 구현(get_repo_info)
    • Pull Request 리스트 조회 함수 구현(get_pull_requests)
    • 특정 Pull Request 상세, diff, changed files 조회 함수 구현(get_pull_request_details, get_diff, get_files_changed)
    • Comment 작성/수정 기능 구현(post_comment)
    • 테스트 코드 작성: 위 함수들에 대한 단위 테스트 작성(Pytest 등 활용)
    • 로깅/에러처리 기본 구조 잡기: 요청 실패 시 재시도, 예외처리 논리 등 구현
  • 0 Open
    0 Closed
    Updated 2024-12-16 23:02:54 +09:00
    2024-12-23

    목표: 변경된 코드 정보를 GPT/Claude API에 전달, 분석 결과를 기반으로 개선 제안 코멘트 생성
    결과물: Gitea PR에 코멘트를 자동으로 남기는 스크립트(수동 트리거)

    TODO

    • GPT/Claude API 연동:
      • OpenAI/Anthropic API Key 관리
      • 질문 프롬프트 템플릿 정립(비효율성 판단, 개선 아이디어 제안)
      • API 호출 래퍼 함수 구현(call_gpt, call_claude)
    • 분석 로직 구현:
      • Gitea PR로부터 변경된 파일 목록 획득
      • 각 파일별 diff 내용 추출 후 GPT/Claude로 전달
      • GPT/Claude 응답 기반 개선안 추출
      • 응답 형식 파싱, Markdown 형태 코멘트 생성
    • 결과 코멘트 업로드:
      • 개선 제안 내용을 PR 코멘트로 등록
    • 기본 테스트: 샘플 PR에 대해 스크립트 수동 실행, 응답 결과 검증
  • 0 Open
    0 Closed
    Updated 2024-12-16 23:10:20 +09:00
    2024-12-25

    목표: Gitea에서 PR 오픈/업데이트 이벤트 발생 시 자동 실행되는 파이프라인 구성
    결과물: Webhook 수신 서버 또는 CI 파이프라인 설정 완료

    TODO

    • Webhook 설정: Gitea 리포지토리에 PR 이벤트(Webhook) 설정
    • Webhook 핸들러 스크립트:
      • 서버/엔드포인트 구현(Flask/FastAPI 등)
      • 이벤트 파싱 후 해당 PR 번호를 받아서 분석 스크립트 호출
    • CI/CD 설정(옵션): Drone CI나 Jenkins를 사용할 경우 해당 파이프라인 설정 파일 작성(.drone.yml, Jenkinsfile 등)
    • 자동화 테스트: 테스트 리포지토리에서 PR 생성/업데이트 → Webhook → 분석 결과 자동 코멘트 달리는지 확인
  • 0 Open
    0 Closed
    Updated 2024-12-16 23:11:34 +09:00
    2024-12-27

    목표: 예외 상황 처리, 성능 개선, 로깅 강화 등 실제 운영 환경에서 안정적인 동작 보장
    결과물: 신뢰성 높은 분석 파이프라인

    TODO

    • 에러 핸들링 강화:
      • GPT/Claude 응답 타임아웃 처리
      • Gitea API 에러 재시도 로직 개선
      • 네트워크 단절 시 Graceful Fallback
    • 성능 개선:
      • 변경 파일 수가 많을 경우 batching 처리
      • GPT 요청 횟수를 줄이기 위해 Summarization-Chunking 전략 검토
    • 추적/모니터링:
      • 로깅 레벨 정립(DEBUG/INFO/WARN/ERROR)
      • Gitea, GPT 호출 빈도/응답시간 모니터링
    • 문서화:
      • README.md에 사용 방법, 설정 방법 명시
      • 유지보수 가이드, Troubleshooting 문서 작성