{"id":50816653,"url":"https://github.com/umsungjun/jira-weekly-mail","last_synced_at":"2026-06-13T10:04:25.604Z","repository":{"id":355540897,"uuid":"1228400379","full_name":"umsungjun/jira-weekly-mail","owner":"umsungjun","description":"Jira 이슈를 자동 수집하고 Gemini AI로 요약해 매주 HTML 이메일 보고서를 자동 발송하는 Google Apps Script 생성기","archived":false,"fork":false,"pushed_at":"2026-05-04T05:01:30.000Z","size":56,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-04T06:36:16.554Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://jiraweeklymail.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umsungjun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-04T01:16:36.000Z","updated_at":"2026-05-04T05:01:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/umsungjun/jira-weekly-mail","commit_stats":null,"previous_names":["umsungjun/jira-weekly-mail"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/umsungjun/jira-weekly-mail","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umsungjun%2Fjira-weekly-mail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umsungjun%2Fjira-weekly-mail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umsungjun%2Fjira-weekly-mail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umsungjun%2Fjira-weekly-mail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umsungjun","download_url":"https://codeload.github.com/umsungjun/jira-weekly-mail/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umsungjun%2Fjira-weekly-mail/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34279899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-13T10:04:24.745Z","updated_at":"2026-06-13T10:04:25.598Z","avatar_url":"https://github.com/umsungjun.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jira 주간 업무 보고 자동화\n\n\u003e Jira 이슈를 자동 수집하고 Gemini AI로 요약해 매주 HTML 이메일 보고서를 자동 발송하는 Google Apps Script 생성기\n\n[![Vite](https://img.shields.io/badge/Vite-8.0-646CFF?logo=vite\u0026logoColor=white)](https://vite.dev)\n[![React](https://img.shields.io/badge/React-19-61DAFB?logo=react\u0026logoColor=black)](https://react.dev)\n[![TypeScript](https://img.shields.io/badge/TypeScript-6.0-3178C6?logo=typescript\u0026logoColor=white)](https://typescriptlang.org)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind-4.0-06B6D4?logo=tailwindcss\u0026logoColor=white)](https://tailwindcss.com)\n\n⭐ **유용하게 사용하셨다면 GitHub Star를 눌러주시면 큰 힘이 됩니다!**\n\n---\n\n## 이런 분들을 위해 만들었습니다\n\n- 매주 Jira 이슈를 직접 취합해 업무 보고 메일을 쓰는 게 번거로운 분\n- 보고서 작성에 드는 시간을 줄이고 개발에 더 집중하고 싶은 개발자\n- 별도 서버 없이 무료로 이메일 자동화를 구축하고 싶은 분\n- Jira를 사용하는 팀에서 주간 업무 현황을 정기적으로 공유해야 하는 분\n\n정보를 한 번만 입력하면 Google Apps Script 파일 2개(`Code.gs`, `appscript.json`)가 자동 생성됩니다. 이 파일을 Google Apps Script에 붙여넣으면 매주 자동으로 업무 보고 이메일이 발송됩니다.\n\n\u003e 🔒 입력한 정보는 서버에 저장되지 않으며, 브라우저에서만 처리됩니다.\n\n---\n\n## 핵심 기능\n\n- **Jira 자동 연동** — 이번 주 할당된 이슈를 JQL로 자동 수집, 완료·진행·예정 상태별 분류\n- **Gemini AI 업무 요약** — 어떤 사이트/프로젝트에 집중했는지, 어떤 개발 방향인지를 AI가 자연스러운 문장으로 요약 (선택 사항). API 오류 시 최대 3회 재시도하며, 모두 실패해도 AI 요약 없이 이메일이 정상 발송됩니다.\n- **HTML 이메일 자동 발송** — Google Apps Script `MailApp`으로 별도 서버 없이 이메일 발송\n- **스크립트 생성기** — 정보를 입력하면 `Code.gs`와 `appscript.json` 두 파일을 브라우저에서 바로 생성\n\n---\n\n## 사용 방법\n\n### 1단계 — Jira API 토큰 발급\n\n1. [id.atlassian.com](https://id.atlassian.com) 로그인\n2. 우측 상단 프로필 → **계정 관리** 클릭\n3. 왼쪽 메뉴에서 **보안** 탭 선택\n4. **API 토큰 생성 및 관리** → **API 토큰 만들기** 클릭\n5. 레이블 입력 후 생성된 토큰 복사\n\n---\n\n### 2단계 — Gemini API 키 발급 (선택 사항)\n\n비워두면 AI 요약 없이 이메일이 발송됩니다. AI 요약을 원하는 경우에만 진행하세요.\n\n1. [aistudio.google.com](https://aistudio.google.com) 접속 후 Google 계정 로그인\n2. 좌측 메뉴 하단 **Get API key** 클릭\n3. **Create API key** 버튼 클릭\n4. 프로젝트 선택 또는 새 프로젝트 생성 후 API 키 복사\n\n\u003e 💡 무료 티어 사용 시 할당량 초과 오류가 날 수 있습니다. Google Cloud Console에서 결제 계정 연결을 권장합니다.\n\n---\n\n### 3단계 — 스크립트 파일 생성\n\n사이트에서 아래 정보를 입력하고 **스크립트 생성하기** 버튼을 클릭합니다.\n\n| 항목             | 예시                              |\n| ---------------- | --------------------------------- |\n| 이름             | 홍길동                            |\n| 직책             | 주임 / 대리 / 과장                |\n| 소속             | 플랫폼 본부                       |\n| Jira 계정 이메일 | hong@company.com                  |\n| Atlassian URL    | https://your-domain.atlassian.net |\n| Jira API 토큰    | ATATT3xFfGF0...                   |\n| Gemini API 키    | AIzaSy... (선택)                  |\n\n생성 완료 시 `Code.gs`와 `appscript.json` 두 파일이 화면에 표시됩니다.\n\n---\n\n### 4단계 — Google Apps Script에 파일 등록\n\n1. [script.google.com](https://script.google.com)에서 **새 프로젝트** 생성\n2. 좌측 **프로젝트 설정(⚙️)** → **\"편집기에 'appsscript.json' 매니페스트 파일 표시\"** 활성화\n3. 편집기에서 **Code.gs** 탭 선택 → 기존 내용 전체 삭제 후 생성된 `Code.gs` 내용 붙여넣기\n4. 편집기에서 **appscript.json** 탭 선택 → 기존 내용 전체 삭제 후 생성된 `appscript.json` 내용 붙여넣기\n\n\u003e ⚠️ appscript.json 탭이 보이지 않으면 **2번 설정**을 먼저 활성화해야 합니다.\n\n---\n\n### 5단계 — 테스트 및 자동화 설정\n\n1. 상단 함수 선택에서 **`sendToMe`** 선택 후 ▶ 실행\n2. 처음 실행 시 Google 권한 허용 팝업이 뜹니다 → 허용 클릭\n3. 내 이메일에서 테스트 보고서 확인\n4. _(선택)_ 시계 아이콘 **트리거**에서 매주 금요일 오후 자동 실행 설정\n\n---\n\n## 생성 파일 설명\n\n### `Code.gs`\n\nGoogle Apps Script 메인 실행 파일입니다. Jira API 호출, Gemini AI 요약, HTML 이메일 생성 및 발송 로직이 포함되어 있습니다.\n\n| 함수                  | 역할                         |\n| --------------------- | ---------------------------- |\n| `sendToMe()`          | 본인 이메일로 테스트 발송    |\n| `sendToAll()`         | 전체 메일링 리스트로 발송    |\n| `fetchIssues()`       | Jira API로 이번 주 이슈 수집 |\n| `generateAiSummary()` | Gemini API로 업무 요약 생성 (실패 시 3회 재시도) |\n\n### `appscript.json`\n\nGoogle Apps Script 프로젝트 매니페스트 파일입니다. 타임존(Asia/Seoul), OAuth 권한 범위, 런타임 버전(V8)이 설정되어 있습니다.\n\n---\n\n## 로컬 개발 환경 설정\n\n**요구 사항**: Node.js 18+, pnpm 8+\n\n```bash\n# 저장소 클론\ngit clone https://github.com/umsungjun/jira-reporter.git\ncd jira-reporter\n\n# 의존성 설치\npnpm install\n\n# 개발 서버 실행 (http://localhost:5173)\npnpm dev\n\n# 프로덕션 빌드\npnpm build\n\n# 빌드 결과물 미리보기\npnpm preview\n```\n\n---\n\n## 기여 가이드 (Contributing)\n\n버그 리포트, 기능 제안, PR 모두 환영합니다!\n\n1. 이 저장소를 Fork\n2. 기능 브랜치 생성 (`git checkout -b feat/my-feature`)\n3. 변경사항 커밋 (`git commit -m 'feat: 새 기능 추가'`)\n4. 브랜치 Push (`git push origin feat/my-feature`)\n5. Pull Request 오픈\n\n---\n\n## 개발자\n\n**엄성준 (umsungjun)**\n\n- GitHub: [github.com/umsungjun](https://github.com/umsungjun)\n- LinkedIn: [linkedin.com/in/frontend-developer-umsungjun](https://www.linkedin.com/in/frontend-developer-umsungjun)\n\n---\n\n## License\n\nMIT License © 2026 umsungjun\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumsungjun%2Fjira-weekly-mail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumsungjun%2Fjira-weekly-mail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumsungjun%2Fjira-weekly-mail/lists"}