Skip to content

GitHub 연동

GitHub API를 연동하면 KIRA가 코드 저장소를 관리할 수 있습니다.

📋 준비물

  • GitHub 계정
  • Personal Access Token (Classic 또는 Fine-grained)

🔑 1단계: Personal Access Token 발급

1. GitHub 접속

GitHub.com에 로그인

2. Settings 이동

  1. 우측 상단 프로필 아이콘 클릭
  2. "Settings" 선택
  3. 왼쪽 메뉴 하단 "Developer settings" 클릭

3. Token 생성

  1. "Personal access tokens" > "Tokens (classic)" 클릭
  2. "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 생성 및 복사

  1. "Generate token" 클릭
  2. 생성된 토큰 복사 (ghp_로 시작)
  3. 안전한 곳에 보관

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

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/42

Pull 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 주기적 확인

🔗 관련 링크