{"id":26463813,"url":"https://github.com/leejss/google-apps-script-js-template","last_synced_at":"2026-05-20T06:03:59.378Z","repository":{"id":282354560,"uuid":"948308986","full_name":"leejss/google-apps-script-js-template","owner":"leejss","description":"Google Apps Script JS Template","archived":false,"fork":false,"pushed_at":"2025-03-14T05:26:21.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-14T06:26:37.460Z","etag":null,"topics":["appsscript","clasp","js"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leejss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-03-14T05:15:21.000Z","updated_at":"2025-03-14T05:41:23.000Z","dependencies_parsed_at":"2025-03-14T06:36:59.038Z","dependency_job_id":null,"html_url":"https://github.com/leejss/google-apps-script-js-template","commit_stats":null,"previous_names":["leejss/google-apps-script-js-template"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leejss%2Fgoogle-apps-script-js-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leejss%2Fgoogle-apps-script-js-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leejss%2Fgoogle-apps-script-js-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leejss%2Fgoogle-apps-script-js-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leejss","download_url":"https://codeload.github.com/leejss/google-apps-script-js-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244375526,"owners_count":20442689,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["appsscript","clasp","js"],"created_at":"2025-03-19T07:16:29.114Z","updated_at":"2026-05-20T06:03:59.279Z","avatar_url":"https://github.com/leejss.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Apps Script Starter JS Template\n\n이 프로젝트는 로컬 개발 환경으로 Google Apps Script를 사용하여 개발되었습니다. [clasp](https://github.com/google/clasp)를 사용하여 로컬에서 개발하고 Google Apps Script에 배포할 수 있습니다.\n\n## 개발 환경 설정\n\n### 설치 과정\n\n1. Clasp 전역 설치\n\n   ```bash\n   npm install -g @google/clasp\n   ```\n\n2. Google Apps Script API 활성화\n   - [Google Apps Script API](https://script.google.com/home/usersettings) 페이지를 방문하여 API를 활성화하세요\n\n3. 프로젝트 의존성 설치\n\n   ```bash\n   npm install\n   ```\n\n4. Google 계정으로 로그인\n\n   ```bash\n   npm run login\n   # 또는\n   clasp login\n   ```\n\n5. 기존 Apps Script 프로젝트 복제 또는 새로 만들기\n\n   ```bash\n   # 기존 프로젝트 복제\n   clasp clone-script \"your-script-id-here\"\n   \n   # 또는 새 프로젝트 생성\n   npm run create\n   # 또는\n   clasp create --title \"Apps Script\" --rootDir ./src\n   ```\n\n## 개발 워크플로우\n\n### Google Apps Script에 코드 푸시\n\n변경사항을 Google Apps Script에 업로드하세요:\n\n```bash\nnpm run push\n# 또는\nclasp push\n```\n\n변경사항을 자동으로 감시하고 푸시하려면:\n\n```bash\nclasp push --watch\n```\n\n### Google Apps Script 환경에서 테스트\n\n스크립트 편집기를 열어 구현을 테스트하세요:\n\n```bash\nnpm run open\n# 또는\nclasp open-script\n```\n\n테스트 권장사항:\n\n- 스크립트 편집기에서 ▶️ 버튼을 사용하여 개별 함수를 실행하세요\n- 편집기에서 `보기 \u003e 로그`를 통해 실행 로그를 확인하세요\n- 사용될 맥락(스프레드시트, 양식 등)에서 스크립트를 테스트하세요\n- 모든 기능이 실제 데이터로 예상대로 작동하는지 확인하세요\n\n### 버전 관리 및 배포\n\n테스트를 통해 모든 것이 올바르게 작동함을 확인한 후:\n\n1. 버전을 생성하세요\n\n   ```bash\n   clasp create-version \"변경 사항 설명\"\n   ```\n\n2. 버전을 배포하세요\n\n   ```bash\n   npm run deploy\n   # 또는\n   clasp create-deployment --description \"프로덕션 배포\"\n   ```\n\n3. 배포를 확인하세요\n\n   ```bash\n   npm run list\n   # 또는\n   clasp list-deployments\n   ```\n\n4. 웹 앱 배포 (선택 사항)\n   - 스크립트 편집기에서 `배포 \u003e 새 배포`를 클릭하세요\n   - 배포 유형으로 `웹 앱`을 선택하세요\n   - 액세스 권한을 구성하고 `배포`를 클릭하세요\n   - 웹 앱 접속을 위해 생성된 URL을 저장하세요\n\n## 중요 참고사항\n\n- `.claspignore` 파일은 Apps Script에 푸시해서는 안 되는 파일을 지정합니다\n- 계정에 Google Apps Script API가 활성화되어 있는지 확인하세요\n- 웹 앱으로 배포할 때 접근 권한을 주의하세요\n- 로컬 개발 환경에서 변경 사항을 추적하기 위해 버전 관리(git)를 사용하세요\n- 협업을 위해 팀 구성원과 Apps Script 프로젝트 공유를 고려하세요\n\n## 문제 해결\n\n- **권한 문제**: Google Apps Script API를 활성화했는지 확인하세요\n- **배포 오류**: `appsscript.json` 구성을 확인하세요\n- **런타임 오류**: Apps Script 편집기에서 로그를 검토하세요\n- **푸시 실패**: `.claspignore` 파일이 올바르게 구성되어 있는지 확인하세요\n- **인증 문제**: `clasp login`을 다시 실행해 보세요\n\n## Secret management\n\n1. PropertiesService 활용\n2. GCP Secret Manager 활용\n\n## .clasp.json\n\n```json\n{\n  \"scriptId\": \"Your Script ID\",\n  \"rootDir\": \"dist\", // bundled output directory. Default is `dist`\n  \"fileExtension\": \"js\",\n  \"filePushOrder\": [\"\"]\n}\n```\n\n## 참고 자료\n\n- [Google Apps Script 문서](https://developers.google.com/apps-script)\n- [Clasp GitHub 저장소](https://github.com/google/clasp)\n- [Apps Script 매니페스트](https://developers.google.com/apps-script/manifest)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleejss%2Fgoogle-apps-script-js-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleejss%2Fgoogle-apps-script-js-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleejss%2Fgoogle-apps-script-js-template/lists"}