Daily Work Reporter

Gitea 커밋 내역을 수집하여 PMS에 자동으로 업무 등록하는 도구입니다.

기능

  • Gitea API를 통해 특정 날짜의 Git 커밋 수집
  • 지정 시간(기본 18:30) 이후 커밋만 필터링 (야근 업무)
  • PMS에 자동 업무 등록 (Playwright 브라우저 자동화)
  • macOS LaunchAgent를 통한 매일 자동 실행 지원

설치

# 의존성 설치
pip install -r requirements.txt

# Playwright 브라우저 설치
playwright install chromium

# 환경 변수 설정
cp .env.example .env
# .env 파일을 열어 값 수정

환경 변수 설정

.env 파일에 다음 항목을 설정하세요:

변수 설명 예시
GITEA_API_BASE Gitea API URL https://gitea.example.com/api/v1
GITEA_USERNAME Gitea 사용자명 username
GITEA_PASSWORD Gitea 비밀번호 password
PMS_URL PMS 메인 URL http://pms.example.com/main.do
PMS_LOGIN_URL PMS 로그인 URL http://pms.example.com/login.do
PMS_USERNAME PMS 사용자명 username
PMS_PASSWORD PMS 비밀번호 password
SOLUTIONS 리포지토리 목록 (JSON) [["name", "owner", "repo"]]
TARGET_AUTHORS 대상 커밋 작성자 user1,user2
CUTOFF_HOUR 야근 기준 시 (기본: 18) 18
CUTOFF_MINUTE 야근 기준 분 (기본: 30) 30
COMPANY_NAME PMS 등록 회사명 회사명

사용법

# 오늘 날짜 커밋 확인 및 등록
python daily_work_reporter.py --today

# 특정 날짜 커밋 확인 및 등록
python daily_work_reporter.py --date 2024-01-27

# 수동 모드 (확인 후 등록)
python daily_work_reporter.py --today --manual

자동 실행 설정 (macOS)

매일 22:00에 자동 실행하려면:

# LaunchAgent 설치
cp com.wace.daily-work-reporter.plist ~/Library/LaunchAgents/

# 등록
launchctl load ~/Library/LaunchAgents/com.wace.daily-work-reporter.plist

# 해제
launchctl unload ~/Library/LaunchAgents/com.wace.daily-work-reporter.plist

파일 구조

daily-work-reporter/
├── daily_work_reporter.py      # 메인 스크립트
├── .env                        # 환경 변수 (gitignore)
├── .env.example                # 환경 변수 템플릿
├── requirements.txt            # Python 의존성
├── com.wace.daily-work-reporter.plist  # macOS 자동 실행 설정
└── README.md
Description
Gitea 커밋 내역을 수집하여 PMS에 자동으로 업무 등록하는 도구
Readme 34 KiB
Languages
Python 100%