Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A ai-hub
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • 김승철
  • ai-hub
  • Merge requests
  • !7

Open
Created Nov 04, 2026 by 김승철@sckim1🎸Maintainer2 of 2 tasks completed2/2 tasks
  • Report abuse
Report abuse

[FEAT] Jira 할당 티켓 자동 해결 → Draft MR 자동화 (jira-auto-resolver)

  • Overview 0
  • Commits 32
  • Changes 51

📝 [FEATURE_DEV] Summary

  • Context: 나(김승철)에게 할당된 T2Q 티켓(해야 할 일, 새로 할당된 것)을 15분마다 읽어 사람 개입 없이 해결 → push → Draft MR 까지 올리고 Slack DM 으로 알리는 자동화 (scripts/jira-auto-resolver).
  • 설계: docs/superpowers/specs/2026-11-03-jira-auto-resolver-design.md / 계획: docs/superpowers/plans/2026-11-03-jira-auto-resolver.md
  • 같이 들어가는 main 미푸시 커밋 2건: 설계 문서(b85b09d3), 스킬별 Context7 사용 지침(7fbc8aa0 — skills/*/SKILL.md 24개).

🛠 Key Changes

  • 흐름 (resolver.py tick, launchd 900초): Jira 조회(Atlassian MCP, claude -p haiku) → 큐 → 트리아지(읽기 전용, repo·기준 브랜치·선행 티켓 판정) → 티켓별 전용 worktree fix/<KEY> → 무인 개발(turu-jira-dev-team, 커밋까지) → diff 게이트 → push(pre-push 훅 통과 필수) → Draft MR → Slack DM.
  • 사용자 체크아웃 불가침: 작업은 상태 디렉터리의 worktree 에서만. 실행 전후 스냅샷 비교, 공유 .git 상태 변경 git 명령 차단.
  • 기준 브랜치: 3G 기능은 3g-develop — 트리아지가 origin/<base> 읽기 전용 미러(mirror.py)를 검색해 develop/3g-develop 판정, worktree·MR target 이 따름.
  • 티켓 간 연속성: 티켓마다 별도 브랜치. 선행 티켓이 있으면 그 브랜치(fix/<DEP> 또는 유일한 feature/<DEP>*)를 --no-ff 머지한 상태에서 시작, MR 본문에 명시.
  • 판단 세우기: [UNCLEAR] 여도 멈추지 않고 조사로 판단 → MR 본문 「판단과 남은 확인」. 중단은 FE 필수·DB 스키마·시스템 설정·repo 밖·Act 3회 초과·방향 전무뿐.
  • 안전장치: diff 게이트(마이그레이션·.sql·application*·build.gradle·gradle/·.ebextensions·Dockerfile·.gitlab-ci.yml·.githooks·엔티티 필드/매핑 변경, fail-closed), push 감지(reflog), 훅 변조 감지, flock, 크래시 복구(최대 2회), Jira 쓰기 금지(도구 차단).
  • 알림: 키체인 봇 토큰(chat.postMessage) 우선, 실패 시 Slack MCP 대체.

✅ 실검증

  • T2Q-1622: 3g-develop 판정 → 개발 단계 진입 확인(이후 수동 처리 → turuparking-server MR !1561).
  • T2Q-1538 재처리: 원인(STAGE 테스트 공휴일 + 저장 시 HOL 덮어쓰기)을 짚고 FE 필요로 중단, 봇 DM 시작·중단 수신 확인 → 사용자 기준으로 수동 처리 → MR !1562.
  • 두 실행 모두 사용자 체크아웃 무변경 확인.

⏭ 남은 것

  • launchd 등록(bash scripts/jira-auto-resolver/install.sh)은 머지 후.
  • 성공 경로(무인 실행이 그대로 MR 생성)는 실티켓에서 첫 확인 필요 — 단위 테스트로는 검증됨.

✅ Checklist

  • 태스크별 리뷰 + 재리뷰(SDD), 하드닝 리뷰
  • python3 -m unittest discover -s tests 144건 OK

🤖 Generated with Claude Code

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: feat/jira-auto-resolver