Skip to content

neoarc/RedmineTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redmine 이관 이슈 추적기 v2

시간을 투입했으나 완료/폐쇄되지 않고 타인에게 이관된 이슈를 추적합니다.
다중 사용자 지원, SQLite 캐시, 담당자 변경 타임라인 포함.

이관 판단 기준

유형 표시 조건
담당자 이력 🔴 저널에 내가 담당자였다가 변경된 이력 존재
시간 기록만 🟡 Time Entry에 기록은 있으나 담당자 이력 없음

공통 조건: 미완료(비폐쇄) 상태 + 현재 담당자 ≠ 대상 사용자

폐쇄 상태 제외: status.is_closed = true 또는 이름에 완료/종료/closed/resolved 등 포함 시 제외

시작 방법

# 1. 패키지 설치
npm install

# 2. 환경변수 설정
cp .env.example .env
# .env 파일 편집:
#   REDMINE_URL=https://redmine.mycompany.com
#   REDMINE_API_KEY=내_API_키
#   PORT=3000  (선택)

# 3. 실행
npm start
# → http://localhost:3000

사용 방법

  1. [사용자 동기화] 클릭 → Redmine에서 전체 사용자 목록을 SQLite DB에 저장
  2. 분석 대상 사용자 선택 (이름+로그인 표시)
  3. [분석 시작] 클릭 → 실시간 진행 상황 확인
  4. 이관 이슈 목록 + 담당자 변경 타임라인 확인

DB 파일

data.db (SQLite, 자동 생성)

테이블 내용
users 동기화된 사용자 목록
analysis_runs 분석 실행 기록
transferred_issues 분석된 이관 이슈 상세

동작 흐름

① Time Entries 전체 수집 (페이징)
② 이슈별 투입 시간 집계
③ 이슈 상세 조회 (status_id=* 전체)
④ 폐쇄/완료 상태 제외 + 현재 담당자 ≠ 대상 사용자 필터
⑤ 이슈 저널(변경 이력) 조회
   → 담당자 변경 체인 추출
   → 대상 사용자가 담당자였던 이력 확인
⑥ DB 저장 → 결과 표시

주의사항

  • REDMINE_API_KEY는 관리자 권한이 있어야 타인의 Time Entries 조회 가능
  • API 키는 .env에만 저장, 브라우저에 노출 안 됨
  • 이슈 수가 많으면 저널 조회(⑤단계)에 시간 소요
  • data.db는 git에 포함하지 마세요 (.gitignore 추가 권장)

About

Redmine에서 나를 거쳐갔지만 완료되지 않은 이슈를 찾아내기 위한 도구

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors