Work & Log
개발 작업 자동 추적 + Jira 연동 + LLM 기반 산출물 자동 작성
VS Code/Cursor에서 개발 시간을 자동으로 추적하고, Jira 이슈를 연동하여 LLM이 산출물을 자동으로 작성해주는 통합 확장 프로그램입니다.
핵심 기능 3가지
1. Work & Log 트리 뷰
- 실시간 상태 표시: 자동 전송 ON/OFF 상태 및 환경(DEV/LIVE) 표시
- Task ID 관리: 클릭하여 Task ID 설정/변경 가능
- 동작 메뉴:
- Jira Center (내 Jira 목록)
- GitHub PR 생성
- 총 작업시간 전송 (디버그 모드)
- 위키 작성 메뉴:
- 기본 정보 작성 (LLM 기반)
- CTO 설계 리뷰 실행
- 보안 점검 리뷰 실행
- 설정 메뉴:
- 매시간 전송 알림 ON/OFF 토글
- 사용자 설정 폼 열기
2. 사용자 설정 폼
- Task Eye 설정:
- Task ID 입력/설정
- 환경 선택 (dev/live)
- Executor Type (MANUAL/AUTOMATED/AI_AGENT)
- 진행률 설정
- Jira 연동 설정:
- 사용자 ID 설정
- Base URL 및 API 토큰 설정
- 사용자 정의 JQL 쿼리 설정
- Wiki 연동 설정:
- 기본 산출물 템플릿 경로 설정
- 산출물 검색용 CQL 쿼리 설정
- LLM 리뷰 설정:
- CLI 선택 (codex 또는 claude-code)
- 동작 설정:
- 전송 주기, 유휴 임계값, 자동 전송 주기 설정
- 매시간 알림 ON/OFF
3. 상태바 (StatusBar)
- 좌측 하단 상태바 표시:
Work&Log: ON • 123s
- 클릭 시 빠른 전송 메뉴: 30분/60분/120분/180분 프리셋 선택 가능
- 실시간 시간 표시: 타이핑/마우스 활동 기반 누적 시간 표시
설치 후 필수 설정
확장 프로그램 설치 후 다음 4가지 설정을 완료해야 정상적으로 사용할 수 있습니다.
1. User ID 설정
설정 위치: 사용자 설정 폼 → Jira 연동 설정 → 사용자 ID
예시: jhpark04
- Jira 이슈 조회 및 산출물 작성 시 필요합니다.
- MCP Hub와의 연동에도 사용됩니다.
2. 산출물 기본 템플릿 설정
설정 위치: 사용자 설정 폼 → Wiki 연동 설정 → 기본 산출물 템플릿 경로
예시: 개발 산출물/기본 템플릿
- 산출물 자동 생성 시 복사할 템플릿 페이지 경로입니다.
- Wiki 페이지 제목 전체를 입력해야 합니다.
3. Jira JQL 설정
설정 위치: 사용자 설정 폼 → Jira 연동 설정 → 사용자 정의 JQL
예시: assignee = jhpark04 AND status = "In Progress"
- Jira Center에서 이슈 조회 시 사용할 JQL 쿼리입니다.
- 비워두면 기본 쿼리를 사용합니다.
4. 로그 전송 타입 설정
설정 위치: 사용자 설정 폼 → Task Eye 설정 → Executor Type
옵션: MANUAL / AUTOMATED / AI_AGENT
- MANUAL: 수동 작업 (기본값)
- AUTOMATED: 자동화 스크립트 실행
- AI_AGENT: AI 에이전트가 수행한 작업
빠른 시작 (3단계)
1️⃣ 설치 및 Task ID 설정
VS Code Marketplace → "Work & Log" 검색 → 설치
Activity Bar → Work & Log 아이콘 클릭 → Task ID 입력
2️⃣ 개발 시작
코드 작성하면 자동으로 시간 추적 시작
상태바: "Work&Log: ON • 0s" 표시 확인
3️⃣ Jira 이슈 연동 (선택)
Jira Center 열기 → 이슈 검색
우클릭 → "기본 정보 작성" (LLM 자동 생성)
우클릭 → "산출물 등록" (Wiki 자동 생성 + CTO 리뷰)
각 카테고리별 기능 상세
1. Work & Log 트리 뷰 상세
- 실시간 상태 표시:
WorkLog 자동전송: ON • ENV: DEV (클릭 시 ON/OFF 토글)
- Task ID 관리: 클릭하여 Task ID 입력/변경
- 동작 메뉴: Jira Center, GitHub PR, 총 작업시간 전송 (디버그 모드)
- 위키 작성 메뉴: 기본 정보 작성 (LLM), CTO 설계 리뷰, 보안 점검 리뷰
- 설정 메뉴: 매시간 전송 알림 토글, 사용자 설정 폼 열기
2. 사용자 설정 폼 상세
- Task Eye 설정: Task ID, 환경 (dev/live), Executor Type (MANUAL/AUTOMATED/AI_AGENT), 진행률
- Jira 연동 설정: 사용자 ID, Base URL, API 토큰, 사용자 정의 JQL
- Wiki 연동 설정: 기본 산출물 템플릿 경로, 산출물 검색용 CQL
- LLM 리뷰 설정: CLI 선택 (codex / claude-code)
- 동작 설정: 전송 주기, 유휴 임계값, 자동 전송 주기, 매시간 알림
3. 상태바 (StatusBar) 상세
- 표시 형식:
Work&Log: ON • 123s
- 클릭 동작: 빠른 전송 메뉴 (30분/60분/120분/180분 프리셋 선택)
- 실시간 업데이트: 타이핑/마우스 이벤트 발생 시 자동 갱신
4. LLM 기반 산출물 자동 작성
기본 정보 자동 작성
실행: Jira 이슈 우클릭 → "기본 정보 작성"
- LLM이 Jira 이슈 본문과 모든 댓글 분석
- "개발 배경 및 목적", "기대 효과"를 목록 형태로 자동 생성
- Wiki 산출물 페이지에 자동 업데이트
CTO 설계 리뷰 자동 실행
실행: 산출물 등록 시 자동 실행
- 검토 항목: 성능 (부하 대응, 병목, RDB 최적화), 안정성 (장애 복구, 에러 처리), 보안 (입력 검증, 인증/인가)
- CTO 리뷰 필수 판단: I/O 변경, RDB 스키마 변경, 개발 소요 2주 이상
5. 작업 시간 자동 추적
- 타이핑/마우스 선택 실시간 감지, 유휴 시간 자동 제외
- 전송 옵션: 즉시 전송, 빠른 전송 (프리셋), 총 작업시간 전송, 자동 전송
6. Jira 이슈 연동
- Jira Center: Jira 이슈 검색 (키워드, JQL), 상세 정보 확인, 북마크 기능
- 산출물 자동 생성: "YYYY년 M월 산출물" 페이지 자동 검색/생성 → 템플릿 복사 → Jira 정보 입력 → CTO 리뷰 → 브라우저 오픈
7. 알림 및 리마인더
- 자동 알림: 매시간 정각, 점심 시간 (11:45), 퇴근 시간 (17:50)
- 알림 제어: 설정 폼 또는 Work & Log 뷰에서 ON/OFF 토글
사용 시나리오
📌 시나리오 1: 일반 개발 작업
1. VS Code 열기
→ 자동으로 시간 추적 시작 (상태바: "Work&Log: ON")
2. 코드 작성
→ 타이핑/마우스 활동 자동 감지
→ 5분 이상 활동 없으면 유휴 시간 제외
3. 퇴근 전
→ "빠른 전송" 또는 "총 작업시간 전송"
→ Task Eye API로 작업 시간 자동 전송
📌 시나리오 2: Jira 이슈 기반 작업 (추천 워크플로우)
1. Jira Center에서 이슈 검색
→ 키워드 또는 JQL로 이슈 조회
→ 북마크 추가 (자주 사용하는 이슈)
2. 이슈 우클릭 → "산출물 등록"
→ Wiki에서 "2025년 10월 산출물" 자동 검색/생성
→ 템플릿 기반 산출물 페이지 생성
→ CTO 설계 리뷰 자동 실행 (성능/안정성/보안)
→ 브라우저에서 산출물 페이지 자동 오픈
3. 개발 진행
→ 자동 시간 추적 (타이핑/마우스)
→ 매시간 정각마다 전송 알림 (선택)
4. 개발 완료 후
→ 이슈 우클릭 → "기본 정보 작성"
→ LLM이 Jira 이슈 본문/댓글 분석
→ "개발 배경 및 목적", "기대 효과" 자동 생성
→ Wiki 산출물 페이지에 자동 업데이트
→ 브라우저에서 결과 확인
📌 시나리오 3: CTO 설계 리뷰가 필요한 작업
1. Jira 이슈 우클릭 → "산출물 등록"
→ 자동으로 CTO 설계 리뷰 검토 실행
2. Wiki 산출물 페이지에서 "CTO 설계 리뷰 여부 검토" 섹션 확인
→ 성능/안정성/보안 분석 결과
→ CTO 설계 리뷰 필수 여부 판단 (I/O 변경, RDB 스키마, 개발 기간)
3. 필요 시 CTO 설계 리뷰 진행
→ Wiki 링크 공유
설정 가이드
필수 설정 (최소 구성)
| 설정 |
설명 |
예시 |
| Task ID |
Task Eye 작업 ID (그룹웨어 계정 입력 필요) |
선택 버튼 클릭 |
Jira 연동 설정
| 설정 |
설명 |
예시 |
| Jira 사용자 ID |
그룹웨어 계정 |
jhpark04 |
| 사용자 정의 JQL |
이슈 조회용 JQL (선택) |
(assignee = jhpark04 OR 개발자 = jhpark04) AND status in("In Progress",Doing,Verify) AND "산출물 WIKI URL" is EMPTY |
Wiki 연동 설정
| 설정 |
설명 |
예시 |
| 산출물 템플릿 |
기본 산출물 템플릿 페이지 URL |
https://wiki.simplexi.com/pages/viewpage.action?pageId=2704605231 |
동작 설정
| 설정 |
설명 |
기본값 |
| 매시간 알림 활성화 |
매시간 정각마다 전송 알림 표시 |
true |
| CTO 리뷰 CLI |
CTO 리뷰에 사용할 CLI |
codex (또는 claude) |
문제 해결 (FAQ)
❓ 시간이 추적되지 않아요
확인 사항:
- 상태바에
Work&Log: ON 표시 확인
- OFF 상태라면: 명령 팔레트 →
Work & Log: 추적 켜기/끄기
❓ Jira 이슈가 검색되지 않아요
확인 사항:
- Jira 설정 확인:
- 사용자 설정: Jira User ID 정확한지
- 사용자 설정: JQL 설정 정보 정확한지 (검증 버튼으로 확인 가능)
❓ LLM 분석 결과가 나오지 않아요
확인 사항:
- CLI 설치 확인:
codex 선택: codex --version 실행
claude 선택: claude-code --version 실행
- 설정 확인:
- 사용자 설정:
codex 또는 claude 세팅 후 해당 CLI 정상 실행 여부 확인
❓ 매시간 알림이 너무 많아요
해결 방법:
설정 폼 → 동작 설정 → "매시간 전송 알림" OFF
또는
Work & Log 뷰 → 동작 → "매시간 전송 알림" 토글
❓ 산출물 페이지가 생성되지 않아요
확인 사항:
- Wiki 설정 확인:
최신 업데이트 (v0.1.45)
🔧 MCP 연결 방식 개선
HTTP 전송 방식으로 전환 ⚡
- 변경 사항: MCP 서버 연결 방식을 SSE(Server-Sent Events)에서 HTTP POST로 전환
- 배경: MCP Hub 서버의 SSE 지원 중단에 따른 필수 업데이트
- 효과:
- 더 안정적인 연결 및 에러 처리
- 세션 관리 자동화 (HTTP 헤더 및 SSE 이벤트에서 session_id 자동 추출)
- 멀티 이벤트 파싱 지원 (
event: endpoint, event: message)
- 호환성: 기존 MCP 설정 및 기능 100% 호환 (사용자 설정 변경 불필요)
이전 업데이트 (v0.1.39)
🆕 주요 신규 기능
1. LLM 기반 산출물 자동 작성
- ✨ Jira 이슈 우클릭 → "기본 정보 작성" 신규 추가
- 🤖 LLM이 Jira description과 모든 comments 자동 분석
- 📝 "개발 배경 및 목적", "기대 효과"를 목록 형태로 자동 생성
- 🔄 Wiki 산출물 페이지에 자동 업데이트
2. CTO 설계 리뷰 검토 자동화
- ⚡ 산출물 생성 시 자동으로 CTO 리뷰 실행
- 📊 성능/안정성/보안 관점 자동 분석
- ✅ CTO 리뷰 필수 여부 자동 판단 (I/O 변경, RDB 스키마, 개발 기간)
- 🔧 Codex (OpenAI) 또는 Claude Code (Anthropic) CLI 선택 가능
3. 알림 제어 개선
- 🔔 매시간 전송 알림 on/off 설정 추가
- 🎛️ 설정 폼 및 Work & Log 뷰에서 즉시 토글 가능
- 🧪 테스트 알림도 설정 연동
4. Jira 산출물 자동화
- 📅 "YYYY년 M월 산출물" 페이지 자동 검색/생성
- 📋 템플릿 기반 산출물 페이지 생성
- 🌐 브라우저 자동 오픈
기술 스택
- 언어: TypeScript
- 프레임워크: VS Code Extension API
- 연동: Jira REST API, Confluence REST API, Task Eye API
- LLM: OpenAI Codex, Anthropic Claude (선택)
- MCP: Model Context Protocol v2024-11-05 (HTTP POST 전송, SSE 형식 응답 파싱)
개발자 가이드
📂 프로젝트 구조
src/
├── extension.ts ⭐ MAIN CONTROLLER (진입점)
│ ├── activate() - 확장 초기화
│ ├── 명령어 등록 - 모든 VS Code 명령어 정의
│ └── 이벤트 핸들링 - 설정 변경, UI 동기화
│
├── mcp/
│ ├── mcpHub.ts - MCP 연결 관리 및 도구 호출
│ ├── mcpWiki.ts - Wiki 비즈니스 로직
│ └── mcpJira.ts - Jira 비즈니스 로직
│
├── ui/
│ ├── jiraCenter.ts - Jira Center 웹뷰 패널
│ ├── treeProvider.ts - 트리 뷰 프로바이더
│ ├── statusBar.ts - 상태바 컨트롤러
│ └── formPanel.ts - 설정 폼 웹뷰
│
├── lib/
│ ├── ctoReview.ts - CTO 리뷰 실행
│ ├── securityReview.ts - 보안 점검 실행
│ ├── prManager.ts - GitHub PR 관리
│ ├── config.ts - 설정 관리
│ └── logger.ts - 로깅 유틸
│
├── track/
│ └── activityTracker.ts - 활동 추적 및 시간 계산
│
└── transport/
└── sender.ts - Task Eye API 전송
🔍 주요 프로세스 찾기
| 프로세스 |
파일 |
함수/줄 번호 |
| 산출물Full 등록 |
extension.ts |
worklog.jira.addArtifact (692-933줄) |
| 산출물Only 등록 |
extension.ts |
worklog.jira.addArtifactOnly (935-1066줄) |
| 위키 페이지 생성 |
mcpWiki.ts |
createArtifactWikiPage() (560-850줄) |
| 위키 섹션 업데이트 |
mcpWiki.ts |
updateWikiSection() (346-550줄) |
| Jira 콘텐츠 생성 |
mcpJira.ts |
generateJiraArtifactContent() |
| CTO 리뷰 실행 |
ctoReview.ts |
executeCtoReview() |
| PR 생성 및 Wiki 업데이트 |
prManager.ts |
ensurePRAndUpdateWiki() |
📚 아키텍처 문서
상세한 프로세스 분석은 다음 문서를 참고하세요:
🚀 빌드 및 실행
# 의존성 설치
npm install
# 개발 모드 실행 (Watch 모드)
npm run watch
# 빌드 (프로덕션)
npm run compile
# 확장 패키징
vsce package
🧪 디버깅
- VS Code에서
F5 키 또는 "Run Extension" 실행
- 새 VS Code 창이 열림 (Extension Development Host)
- 로그 확인:
- Output 패널 → "Work & Log - MCP" 채널
- Developer Tools (Ctrl+Shift+I)
라이선스
MIT License
기술 지원
문제가 발생하거나 기능 제안이 있으시면:
작성: codex (모델: Claude Sonnet 4.5)
최종 업데이트: 2025-11-01
버전: v0.1.45