2025-07-21 17:58:09 +09:00
2025-07-21 17:58:09 +09:00
2025-07-21 17:58:09 +09:00
2025-07-21 17:58:09 +09:00
2025-07-21 17:58:09 +09:00
2025-07-21 17:58:09 +09:00

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 파일을 생성합니다.

사전 준비

  1. Python 설치: Python 3.6 이상이 필요합니다.

  2. 필요 라이브러리 설치:

    pip install requests
  3. GitHub 개인용 액세스 토큰(PAT) 발급:

    • GitHub에서 repo 스코프 권한을 가진 개인용 액세스 토큰을 발급받아야 합니다. GitHub 문서 참고
    • 발급받은 토큰을 환경 변수에 설정합니다.
    # Linux/macOS
    export GITHUB_TOKEN='your_personal_access_token'
    
    # Windows (Command Prompt)
    set GITHUB_TOKEN='your_personal_access_token'
  4. 스크립트 내 리포지토리 정보 수정:

    • delete_all_issues.pygithub_issues_from_csv.py 파일 상단에 있는 REPO_OWNERREPO_NAME 변수를 자신의 GitHub 리포지토리 정보에 맞게 수정해야 합니다.

스크립트 사용법

1. 샘플 CSV 파일 생성하기

이슈 생성을 테스트하기 위해 샘플 CSV 파일을 생성할 수 있습니다.

python generate_sample_csv.py
  • github_issues.csv 파일이 생성됩니다. 이 파일을 수정하여 원하<EC9B90><ED9598> 이슈 내용을 추가할 수 있습니다.

2. CSV 파일로 GitHub 이슈 생성하기

github_issues.csv 파일을 기반으로 이슈를 생성합니다.

python github_issues_from_csv.py github_issues.csv
  • Dry Run: 실제 생성 없이 실행 결과만 미리 보려면 --dry-run 플래그를 사용하세요.
    python github_issues_from_csv.py github_issues.csv --dry-run
  • 라벨/마일스톤 생성 건너뛰기: 라벨이나 마일스톤 생성을 원치 않을 경우 아래 플래그를 사용할 수 있습니다.
    python github_issues_from_csv.py github_issues.csv --skip-labels --skip-milestones

3. 리포지토리의 모든 이슈 삭제하기

주의: 이 작업은 되돌릴 수 없습니다!

리포지토리의 모든 이슈를 삭제하려면 아래 명령어를 실행하세요.

python delete_all_issues.py
  • 스크립트가 실행되면 삭제할 이슈 목록을 보여주고, 최종 확인을 위해 yes를 입력해야만 삭제가 진행됩니다.
Description
No description provided
Readme 36 KiB
Languages
Python 100%