AI Briefing

Slack Command로 구현한 Jira-GitLab 연동 기능 개발기

·2025.11.18 14:23

Slack Command 하나로 Jira와 GitLab 배포·머지 작업을 자동화했다.

Jira로 티켓을 관리하고 GitLab으로 코드를 운영하는 환경에서, 운영 배포 때마다 티켓 생성, 브랜치·태그 관리, 상태 변경, 머지 작업을 사람이 반복 처리해야 했고 그만큼 실수와 누락도 늘어났다. 리뷰 요청과 배포 알림도 수동이라, 필요한 사람에게 정확히 전달되는지 계속 확인해야 했다.

이 문제를 풀기 위해 Slack Slash Command를入口로 삼아 Jira/GitLab API를 연결했다. 명령어마다 독립적인 Handler를 두고, 대부분이 I/O 작업이라는 점을 활용해 비동기 처리와 프로젝트별 병렬 실행을 적용해 확장성과 유지보수성을 확보했다.

구현한 기능은 크게 다섯 가지다.

  • 배포 티켓 생성: 운영 배포 티켓과 release 브랜치를 만들고, 이미 존재하면 중복 생성 대신 링크만 안내하도록 개선했다.
  • 배포 전 검증: Jira 티켓의 태그와 release 브랜치 최신 커밋 일치 여부, 연결된 feature 브랜치의 반영 여부를 Slack 메시지로 확인한다.
  • 머지 작업: featuredevelop/release 머지와 MR 생성, 리뷰어 멘션, 그리고 운영 배포 후 release → master → develop 연쇄 머지를 자동화했다.
  • TEST/STAGE 배포: 티켓 찾기, Assignee 변경, release 브랜치 태그 생성, 상태 변경을 하나의 명령으로 묶었고, 내부적으로는 약 7개 API를 체이닝해 처리했다.
  • 티켓 상태 변경: 잘못된 변경을 막기 위해 Slack Interactive Components로 미리 보기와 확인 버튼을 거친 뒤 일괄 변경하도록 만들었다.

이 과정에서 태그 누락, 머지 누락, 배포일 오기 같은 반복 실수가 줄었고, 사전 검증으로 운영 배포 전 문제를 먼저 잡을 수 있었다. 결과적으로 맥락 전환이 줄고 배포 안정성이 높아졌으며, MR과 배포 알림도 구조화된 메시지로 자동 전송돼 팀 단위 가시성도 좋아졌다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.