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
Languages
Python
100%