깃헙 이슈 테스트 완료
This commit is contained in:
77
README.md
Normal file
77
README.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# 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. **필요 라이브러리 설치**:
|
||||
```bash
|
||||
pip install requests
|
||||
```
|
||||
3. **GitHub 개인용 액세스 토큰(PAT) 발급**:
|
||||
- GitHub에서 `repo` 스코프 권한을 가진 개인용 액세스 토큰을 발급받아야 합니다. [GitHub 문서 참고](https://docs.github.com/ko/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)
|
||||
- 발급받은 토큰을 환경 변수에 설정합니다.
|
||||
|
||||
```bash
|
||||
# Linux/macOS
|
||||
export GITHUB_TOKEN='your_personal_access_token'
|
||||
|
||||
# Windows (Command Prompt)
|
||||
set GITHUB_TOKEN='your_personal_access_token'
|
||||
```
|
||||
|
||||
4. **스크립트 내 리포지토리 정보 수정**:
|
||||
- `delete_all_issues.py`와 `github_issues_from_csv.py` 파일 상단에 있는 `REPO_OWNER`와 `REPO_NAME` 변수를 자신의 GitHub 리포지토리 정보에 맞게 수정해야 합니다.
|
||||
|
||||
## 스크립트 사용법
|
||||
|
||||
### 1. 샘플 CSV 파일 생성하기
|
||||
|
||||
이슈 생성을 테스트하기 위해 샘플 CSV 파일을 생성할 수 있습니다.
|
||||
|
||||
```bash
|
||||
python generate_sample_csv.py
|
||||
```
|
||||
|
||||
- `github_issues.csv` 파일이 생성됩니다. 이 파일을 수정하여 원하<EC9B90><ED9598> 이슈 내용을 추가할 수 있습니다.
|
||||
|
||||
### 2. CSV 파일로 GitHub 이슈 생성하기
|
||||
|
||||
`github_issues.csv` 파일을 기반으로 이슈를 생성합니다.
|
||||
|
||||
```bash
|
||||
python github_issues_from_csv.py github_issues.csv
|
||||
```
|
||||
|
||||
- **Dry Run**: 실제 생성 없이 실행 결과만 미리 보려면 `--dry-run` 플래그를 사용하세요.
|
||||
```bash
|
||||
python github_issues_from_csv.py github_issues.csv --dry-run
|
||||
```
|
||||
- **라벨/마일스톤 생성 건너뛰기**: 라벨이나 마일스톤 생성을 원치 않을 경우 아래 플래그를 사용할 수 있습니다.
|
||||
```bash
|
||||
python github_issues_from_csv.py github_issues.csv --skip-labels --skip-milestones
|
||||
```
|
||||
|
||||
### 3. 리포지토리의 모든 이슈 삭제하기
|
||||
|
||||
**주의: 이 작업은 되돌릴 수 없습니다!**
|
||||
|
||||
리포지토리의 모든 이슈를 삭제하려면 아래 명령어를 실행하세요.
|
||||
|
||||
```bash
|
||||
python delete_all_issues.py
|
||||
```
|
||||
|
||||
- 스크립트가 실행되면 삭제할 이슈 목록을 보여주고, 최종 확인을 위해 `yes`를 입력해야만 삭제가 진행됩니다.
|
||||
Reference in New Issue
Block a user