-
텔레그램으로 GitHub 이슈 관리 자동화하기IT 2026. 4. 21. 21:00
이슈가 쌓이면 마음도 무거워진다
오픈소스 프로젝트를 운영하다 보면, GitHub 이슈는 끊임없이 올라온다. 버그 리포트, 기능 요청, 환경 문의, 때로는 이미 해결된 문제에 대한 중복 질문까지. 하루에 몇 개씩 쌓이는 이슈를 정기적으로 확인하고, 하나하나 브라우저에서 열어 영어로 정중한 답변을 작성하고, 담당자를 할당하고, 닫는 일련의 작업은 생각보다 시간을 잡아먹는다.
문제는 이 작업이 어렵지는 않지만 번거롭다는 점이다. 답변의 패턴은 비슷하고, 판단은 금방 내려지는데, 실제 실행(GitHub 웹 열기 → 이슈 읽기 → 코멘트 작성 → 닫기/할당)에 드는 시간이 비효율적으로 길다. 특히 이동 중이거나 다른 작업에 집중하고 있을 때, 이슈 처리를 위해 맥락 전환을 하는 게 은근히 부담스럽다.
텔레그램이라는 선택
"이슈를 모바일에서 빠르게 처리할 수 없을까?" 이 고민에서 출발했다. GitHub 앱도 있지만, 이슈를 읽고 판단한 뒤 한국어로 간단히 지시만 내리면 AI가 정중한 영어 답변을 생성해서 대신 올려주는 흐름이 이상적이었다.
이미 개인 서버에 텔레그램 봇을 운영하고 있었기 때문에, 텔레그램을 입력 인터페이스로 활용하기로 했다. 텔레그램 메시지 → 서버의 Claude Code CLI → GitHub CLI 실행이라는 파이프라인을 구성하면 되는 일이었다.
어떤 구조로 만들었나
전체 흐름은 의외로 단순하다.
- 텔레그램 봇이 메시지를 수신한다
- 게이트웨이 서버가 메시지를 Claude Code CLI(
claude -p)로 전달한다 - Claude Code가 메시지를 파싱하고, 미리 정의된 스킬(Skill)에 따라 적절한 GitHub CLI 명령을 실행한다
- 결과를 텔레그램으로 다시 보내준다
핵심은 Claude Code의 Skill 시스템이다. 스킬은 특정 키워드에 반응하는 프롬프트 기반의 워크플로우 정의로, 코드를 작성할 필요 없이 마크다운 파일 하나로 복잡한 자동화를 만들 수 있다.
지원하는 5가지 액션
텔레그램에서 다음과 같은 명령을 보내면 각각의 처리가 자동으로 이루어진다.
명령 동작 예시 #번호 닫기이슈를 정중한 영어 코멘트와 함께 닫는다 #142 닫기: 이미 수정됨#번호 답변: 내용한국어 지시를 영어 답변으로 변환하여 코멘트를 단다 #98 답변: 최신 버전에서 수정됨#번호 할당: 이름담당자를 할당하고 안내 코멘트를 남긴다 #205 할당: kim#번호 질문: 내용리포터에게 추가 정보를 요청하는 질문을 남긴다 #77 질문: OS 버전 알려줘#번호 리다이렉트관련 전용 포럼으로 안내하고 닫는다 #310 리다이렉트AI가 해주는 것: 톤과 맥락
이 시스템에서 AI가 하는 핵심 역할은 두 가지다.
첫째, 한국어를 정중한 영어로 변환한다. 오픈소스 프로젝트의 이슈 대응에서 톤은 생각보다 중요하다. 이슈를 올린 사용자는 불편함을 겪고 있는 상태이므로, 공감과 사과로 시작해서 구체적인 안내로 이어지는 정중한 응답이 필요하다. 매번 영어로 이런 톤을 유지하며 답변을 작성하는 건 꽤 에너지가 드는 일이다.
예를 들어, 텔레그램에서
#98 답변: 최신 버전에서 수정됐으니 업데이트해보세요라고 보내면, 실제 GitHub에는 이런 코멘트가 달린다:We sincerely apologize for any inconvenience you've experienced. We understand how frustrating this must be. We're pleased to let you know that this issue has been addressed in the latest version. Could you please try updating to the most recent release and let us know if the problem persists? We're here to help if you have any further questions.
둘째, 이슈의 맥락을 파악한다. 답변이나 질문을 생성하기 전에 이슈 원문과 기존 댓글을 모두 읽어 대화 흐름을 이해한다. 그래서 "이미 답변한 내용 반복"이나 "맥락에 맞지 않는 답변" 같은 실수가 줄어든다.
상태 관리와 로깅
자동화 시스템이라면 상태 추적은 필수다. 두 가지를 관리한다:
- 미처리 이슈 목록: JSON 파일로 현재 열린 이슈를 관리한다. 닫기/리다이렉트 시 자동으로 목록에서 제거되고, 할당 시 담당자 정보가 갱신된다.
- 액션 로그: 모든 처리 내역을 JSONL 형태로 기록한다. 언제 어떤 이슈에 무슨 액션을 했는지 추적할 수 있어서, 주간/월간 처리 현황 파악에 유용하다.
스킬 하나로 코드 없이 자동화하기
이 시스템의 흥미로운 점은 별도의 코드를 작성하지 않았다는 것이다. Claude Code의 스킬 시스템은 마크다운 파일 하나에 워크플로우를 자연어로 기술하는 방식이다. "이슈 원문을 읽고, 한국어 지시를 영어로 변환하고, GitHub CLI로 코멘트를 달아라"라는 절차를 마크다운으로 서술하면, AI가 그 절차를 따라 실행한다.
이것은 전통적인 자동화(스크립트 작성 → API 연동 → 에러 핸들링 → 배포)와는 근본적으로 다른 접근이다. 프롬프트 엔지니어링이 곧 프로그래밍이 되는 셈이다. 물론 프롬프트가 정확해야 하고, 엣지 케이스도 서술해줘야 하지만, 코드 대비 유지보수 부담이 훨씬 적다.
실제로 달라진 것
이 시스템을 도입하기 전에는 이슈를 처리하려면 최소 이런 과정을 거쳐야 했다:
- GitHub 웹 열기
- 이슈 목록 확인
- 개별 이슈 열어서 내용 파악
- 영어로 답변 작성
- 담당자 할당 또는 닫기
이슈 하나당 3~5분, 쌓여 있으면 30분 이상 걸리기도 했다. 지금은 텔레그램에서
#142 닫기: 중복 이슈라고 한 줄 보내면 끝이다. 이동 중에도 처리할 수 있고, 맥락 전환 비용이 거의 없다.특히 정기적으로 이슈를 일괄 처리할 때 효과가 크다. 미처리 이슈 목록을 텔레그램으로 받아보고, 하나씩 한 줄 명령으로 처리해나가면 10개 이슈도 5분 안에 정리된다.
마무리
결국 이 시스템은 "판단은 사람이, 실행은 AI가"라는 원칙을 따른다. 이슈를 닫을지, 답변할지, 누구에게 할당할지는 여전히 사람이 결정한다. 다만 그 결정을 실행하는 데 드는 반복적인 작업(영어 답변 작성, GitHub 웹 조작, 상태 관리)을 AI가 대신한다.
오픈소스 프로젝트를 운영하면서 이슈 관리에 부담을 느끼고 있다면, 비슷한 접근을 고려해볼 만하다. 전용 앱을 만들 필요 없이, 이미 쓰고 있는 메신저를 입력 창으로 활용하면 된다.
이 글은 생성형 AI의 도움을 받아 작성되었습니다. 원본 자료를 기반으로 AI가 초안을 생성하고, 작성자가 검토·편집하였습니다.
'IT' 카테고리의 다른 글
AI 에이전트가 뭘 했는지 추적하기 — 경량 감사 로그 구축기 (0) 2026.04.23 AI 코딩 에이전트의 권한 관리 — 화이트리스트에서 블랙리스트로 전환한 이유 (0) 2026.04.22 코딩 에이전트는 README.md를 읽을까? — 2026년 4월 실측 현황 (0) 2026.04.22 Context Engineering — AI 코딩 에이전트에 맥락을 주입하는 우선순위 체계 (0) 2026.04.22 Claude Code 스킬과 훅 — AI 코딩 도구에 왜 통제 체계가 필요한가 (1) 2026.04.22 6개월 만에 4세대, 智谱AI GLM 모델 패밀리 완전 정리 (1) 2026.04.20 Google One 해지와 클라우드 탈출기 — 구글에 남긴 건 메일과 캘린더뿐 (1) 2026.04.19 Microsoft 365 구독 해지와 AI 마이그레이션 — 556GB를 구출한 일주일 (0) 2026.04.19 ChatGPT 유료 구독 취소 후 달라진 3가지 (0) 2026.04.19 n8n으로 로컬 AI 챗봇 오케스트레이션 이전하기 — 하루 종일 삽질한 실전 기록 (0) 2026.04.18