GitHub 연동
GitHub API를 연동하면 KIRA가 코드 저장소를 관리할 수 있습니다.
📋 준비물
- GitHub 계정
- Personal Access Token (Classic 또는 Fine-grained)
🔑 1단계: Personal Access Token 발급
1. GitHub 접속
GitHub.com에 로그인
2. Settings 이동
- 우측 상단 프로필 아이콘 클릭
- "Settings" 선택
- 왼쪽 메뉴 하단 "Developer settings" 클릭
3. Token 생성
- "Personal access tokens" > "Tokens (classic)" 클릭
- "Generate new token" > "Generate new token (classic)" 선택
Fine-grained Token
더 세밀한 권한 제어가 필요하다면 Fine-grained tokens를 사용할 수 있습니다.
4. Token 설정 (Classic)
- Note:
KIRA Bot(원하는 이름) - Expiration: 만료일 설정 (90일 권장)
- Select scopes: 다음 권한 선택
- ✅
repo- 저장소 전체 접근 - ✅
read:packages- 패키지 읽기 - ✅
read:org- 조직 정보 읽기 (선택사항) - ✅
workflow- GitHub Actions 관리 (선택사항)
- ✅
5. Token 생성 및 복사
- "Generate token" 클릭
- 생성된 토큰 복사 (
ghp_로 시작) - 안전한 곳에 보관
Token 보안
Personal Access Token은 한 번만 표시됩니다. 복사하지 않으면 다시 볼 수 없으므로 안전하게 보관하세요.
⚙️ 2단계: KIRA 설정
1. KIRA 앱 실행
환경변수 설정 탭을 엽니다.
2. GitHub 섹션 찾기
MCP 설정 > GitHub
3. 설정 활성화
- 토글 스위치를 켜기로 변경
4. 정보 입력
- GITHUB_PERSONAL_ACCESS_TOKEN: 앞서 복사한 Personal Access Token
- Classic:
ghp_xxxxxxxxxxxx - Fine-grained:
github_pat_xxxxxxxxxxxx
- Classic:
5. 설정 저장
- "설정 저장" 버튼 클릭
- 서버 재시작
✅ 3단계: 테스트
Slack에서 KIRA에게 물어보세요:
내 GitHub 저장소 목록 보여줘"myrepo" 저장소의 최근 이슈 알려줘KIRA가 GitHub API를 통해 정보를 가져옵니다.
🎯 사용 예시
저장소 조회
사용자: GitHub에 있는 내 저장소 목록 보여줘
KIRA: [GitHub 조회]
1. user/project-alpha
2. user/project-beta
3. user/my-app이슈 관리
사용자: "my-app" 저장소에 이슈 생성해줘: "버그 수정 필요"
KIRA: [GitHub 이슈 생성] 이슈 #42를 생성했습니다.
https://github.com/user/my-app/issues/42Pull Request 조회
사용자: 내가 올린 PR 목록 보여줘
KIRA: [GitHub 조회]
1. PR #123: 기능 개선
https://github.com/user/my-app/pull/123
2. PR #124: 버그 수정
https://github.com/user/my-app/pull/124커밋 조회
사용자: "my-app"의 최근 커밋 5개 보여줘
KIRA: [GitHub 조회]
1. fix: 로그인 버그 수정 (2시간 전)
2. feat: 새로운 기능 추가 (5시간 전)
3. docs: README 업데이트 (1일 전)
...GitHub Actions 확인
사용자: "my-app"의 최근 워크플로우 상태 알려줘
KIRA: [GitHub Actions 조회]
✅ CI/CD: 성공 (10분 전)
✅ Tests: 성공 (10분 전)
❌ Deploy: 실패 (5분 전)🔧 문제해결
"Authentication failed"
- Personal Access Token이 올바른지 확인
- Token이 만료되지 않았는지 확인
- GitHub에서 Token이 활성화되었는지 확인
- Token이
ghp_또는github_pat_로 시작하는지 확인
"Permission denied"
- Token의 권한(scopes)을 확인
repo권한이 필요- Private 저장소 접근 시 적절한 권한 필요
"Repository not found"
- 저장소 이름을 정확히 입력 (
owner/repo형식) - Private 저장소는 Token에 접근 권한이 있어야 함
- 조직(Organization) 저장소는 조직 권한 확인
"Rate limit exceeded"
- GitHub API 요청 제한 초과
- 인증된 요청: 시간당 5,000회
- 1시간 후 자동 초기화
- Rate Limit 확인
💡 팁
Token 권한 최소화
필요한 권한만 부여:
- 읽기 전용:
repo(public만),read:org - 이슈/PR 관리:
repo전체 - Actions 관리:
workflow추가
Token 관리
- Token 이름을 명확하게 설정 (
KIRA Bot) - 만료일을 설정하여 보안 강화 (90일 권장)
- 정기적으로 Token 갱신
- 사용하지 않는 Token은 즉시 삭제
Fine-grained Token 사용
더 세밀한 권한 제어:
- 특정 저장소에만 접근 허용
- 읽기/쓰기 권한 분리
- 만료일 자동 갱신 가능
효과적인 사용
- 저장소 이름을
owner/repo형식으로 명확히 지정 - 이슈/PR 번호로 빠른 조회 (#123)
- 브랜치 이름 정확히 입력
- Labels과 Milestones 활용
보안 권장사항
- Token을 코드에 하드코딩하지 마세요
- Token을 Git 저장소에 커밋하지 마세요
- 의심스러운 활동 감지 시 즉시 Token 재발급
- GitHub Security Log 주기적 확인