GitHub 이슈 관리 스크립트
이 프로젝트는 CSV 파일을 사용하여 GitHub 이슈를 일괄 생성하고, 모든 이슈를 삭제하는 등의 관리 작업을 자동화하는 Python 스크립트 모음입니다.
주요 기능
- CSV로부터 이슈 일괄 생성:
github_issues_from_csv.py- CSV 파일에 정의된 내용(제목, 본문, 라벨, 담당자, 마일스톤 등)을 바탕으로 GitHub 이슈를 자동으로 생성합니다.
- 필요한 라벨과 마일스톤이 없으면 자동으로 생성합니다.
- 모든 이슈 일괄 삭제:
delete_all_issues.py- 리포지토리에 있는 모든 이슈(Open, Closed 상태 모두)를 영구적으로 삭제합니다.
- 삭제 전 사용자 확인 절차를 거칩니다.
- 샘플 CSV 파일 생성:
generate_sample_csv.py- 이슈 생성 스크립트에서 사용할 수 있는 형식의 샘플
github_issues.csv파일을 생성합니다.
- 이슈 생성 스크립트에서 사용할 수 있는 형식의 샘플
사전 준비
Python 설치: Python 3.6 이상이 필요합니다.
필요 라이브러리 설치:
GitHub 개인용 액세스 토큰(PAT) 발급:
- GitHub에서
repo스코프 권한을 가진 개인용 액세스 토큰을 발급받아야 합니다. GitHub 문서 참고 - 발급받은 토큰을 환경 변수에 설정합니다.
- GitHub에서
스크립트 내 리포지토리 정보 수정:
delete_all_issues.py와github_issues_from_csv.py파일 상단에 있는REPO_OWNER와REPO_NAME변수를 자신의 GitHub 리포지토리 정보에 맞게 수정해야 합니다.
스크립트 사용법
1. 샘플 CSV 파일 생성하기
이슈 생성을 테스트하기 위해 샘플 CSV 파일을 생성할 수 있습니다.
github_issues.csv파일이 생성됩니다. 이 파일을 수정하여 원하<EC9B90><ED9598> 이슈 내용을 추가할 수 있습니다.
2. CSV 파일로 GitHub 이슈 생성하기
github_issues.csv 파일을 기반으로 이슈를 생성합니다.
- Dry Run: 실제 생성 없이 실행 결과만 미리 보려면
--dry-run플래그를 사용하세요. - 라벨/마일스톤 생성 건너뛰기: 라벨이나 마일스톤 생성을 원치 않을 경우 아래 플래그를 사용할 수 있습니다.
3. 리포지토리의 모든 이슈 삭제하기
주의: 이 작업은 되돌릴 수 없습니다!
리포지토리의 모든 이슈를 삭제하려면 아래 명령어를 실행하세요.
- 스크립트가 실행되면 삭제할 이슈 목록을 보여주고, 최종 확인을 위해
yes를 입력해야만 삭제가 진행됩니다.
Description
Languages
Python
100%