Files
github-issue-gen/generate_sample_csv.py
2025-07-21 17:58:09 +09:00

94 lines
3.1 KiB
Python

#!/usr/bin/env python3
"""
샘플 CSV 파일 생성 스크립트
"""
import csv
def create_sample_csv():
"""샘플 CSV 파일 생성"""
sample_issues = [
{
'title': '[1-1] Docker Compose 인프라 설정',
'body': '''## 목표
PostgreSQL, Redis, Celery 컨테이너를 포함한 기본 인프라를 Docker Compose로 설정합니다.
## 작업 상세
- [ ] Docker Compose 파일 작성 (PostgreSQL, Redis, Celery)
- [ ] 환경 변수 설정 및 관리
- [ ] 네트워크 및 볼륨 설정
- [ ] 헬스체크 설정
## 완료 조건
- Docker Compose로 모든 서비스가 정상 실행되는 것
- 각 서비스 간 통신이 원활한 것
## 예상 작업 시간
1주''',
'labels': 'priority:high,milestone-1,infrastructure',
'assignees': 'developer-a',
'milestone': 1,
'priority': 'High',
'estimated_weeks': 1
},
{
'title': '[1-2] CI/CD 파이프라인 구축',
'body': '''## 목표
GitHub Actions 또는 GitLab CI를 사용하여 자동 빌드/배포 파이프라인을 구축합니다.
## 작업 상세
- [ ] GitHub Actions workflow 파일 작성
- [ ] 자동 테스트 실행 설정
- [ ] Docker 이미지 빌드 및 푸시
- [ ] 배포 자동화 설정
## 완료 조건
- Push 시 자동 빌드/테스트가 실행되는 것
- 성공적인 배포가 자동으로 이루어지는 것''',
'labels': 'priority:high,milestone-1,infrastructure',
'assignees': 'developer-b',
'milestone': 1,
'priority': 'High',
'estimated_weeks': 2
},
{
'title': '[2-1] 기본 CRUD API 구현',
'body': '''## 목표
팀과 사용자 관리를 위한 기본 CRUD API 엔드포인트를 구현합니다.
## 작업 상세
- [ ] /teams CRUD 엔드포인트 구현
- [ ] /users CRUD 엔드포인트 구현
- [ ] 입력 검증 및 에러 처리
## 완료 조건
- 모든 CRUD 작업이 정상 동작하는 것''',
'labels': 'priority:high,milestone-2,api,backend',
'assignees': 'developer-a',
'milestone': 2,
'priority': 'High',
'estimated_weeks': 2
}
]
with open('github_issues.csv', 'w', newline='', encoding='utf-8') as csvfile:
fieldnames = ['title', 'body', 'labels', 'assignees', 'milestone', 'priority', 'estimated_weeks']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for issue in sample_issues:
writer.writerow(issue)
print("✅ 샘플 CSV 파일이 'github_issues.csv'로 생성되었습니다.")
print("\nCSV 파일 구조:")
print("- title: 이슈 제목")
print("- body: 이슈 본문 (마크다운 지원)")
print("- labels: 라벨들 (쉼표로 구분)")
print("- assignees: 담당자들 (쉼표로 구분, GitHub 사용자명)")
print("- milestone: 마일스톤 번호 (1, 2, 3)")
print("- priority: 우선순위")
print("- estimated_weeks: 예상 작업 시간 (주)")
if __name__ == "__main__":
create_sample_csv()