From d127ede84c314d82b8a5e1b5c79af161c5b2a9a2 Mon Sep 17 00:00:00 2001 From: sunm2n Date: Tue, 21 Apr 2026 18:55:38 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[Chore]=20=EC=9D=B4=EC=8A=88=20=ED=85=9C?= =?UTF-8?q?=ED=94=8C=EB=A6=BF=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IssueNum #1 --- ...0\353\212\245-\352\260\234\353\260\234.md" | 24 +++++++++++++++++++ ...0\355\203\200-\354\227\205\353\254\264.md" | 23 ++++++++++++++++++ ...54\355\214\251\355\206\240\353\247\201.md" | 24 +++++++++++++++++++ ...4\353\223\234-\354\210\230\354\240\225.md" | 24 +++++++++++++++++++ ...4\352\267\270-\354\210\230\354\240\225.md" | 24 +++++++++++++++++++ ...4\353\223\234-\352\264\200\353\240\250.md" | 24 +++++++++++++++++++ ...4\352\267\270-\354\210\230\354\240\225.md" | 24 +++++++++++++++++++ ...5\355\203\234-\353\263\200\352\262\275.md" | 24 +++++++++++++++++++ ...4\355\212\270-\354\275\224\353\223\234.md" | 24 +++++++++++++++++++ 9 files changed, 215 insertions(+) create mode 100644 ".github/ISSUE_TEMPLATE/\352\270\260\353\212\245-\352\260\234\353\260\234.md" create mode 100644 ".github/ISSUE_TEMPLATE/\352\270\260\355\203\200-\354\227\205\353\254\264.md" create mode 100644 ".github/ISSUE_TEMPLATE/\353\246\254\355\214\251\355\206\240\353\247\201.md" create mode 100644 ".github/ISSUE_TEMPLATE/\353\254\270\354\204\234-\354\236\221\354\204\261-\353\260\217-\354\275\224\353\223\234-\354\210\230\354\240\225.md" create mode 100644 ".github/ISSUE_TEMPLATE/\353\262\204\352\267\270-\354\210\230\354\240\225.md" create mode 100644 ".github/ISSUE_TEMPLATE/\353\271\214\353\223\234-\352\264\200\353\240\250.md" create mode 100644 ".github/ISSUE_TEMPLATE/\354\213\234\352\270\211\355\225\234-\353\262\204\352\267\270-\354\210\230\354\240\225.md" create mode 100644 ".github/ISSUE_TEMPLATE/\354\275\224\353\223\234-\355\230\225\355\203\234-\353\263\200\352\262\275.md" create mode 100644 ".github/ISSUE_TEMPLATE/\355\205\214\354\212\244\355\212\270-\354\275\224\353\223\234.md" diff --git "a/.github/ISSUE_TEMPLATE/\352\270\260\353\212\245-\352\260\234\353\260\234.md" "b/.github/ISSUE_TEMPLATE/\352\270\260\353\212\245-\352\260\234\353\260\234.md" new file mode 100644 index 0000000..1bb1028 --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\352\270\260\353\212\245-\352\260\234\353\260\234.md" @@ -0,0 +1,24 @@ +--- +name: 기능 개발 +about: 새로운 기능을 추가하거나 수정 +title: "[FEATURE] 기능 개발" +labels: "✨ Feature" +assignees: + +--- + +## 기능 추가/수정 + +### 설명 + + + +### 🗒 체크리스트 + +- [ ] 구현할 기능에 대한 설계를 마쳤는가? +- [ ] 테스트 코드를 작성했는가? +- [ ] API 명세서에 따라 개발했는가? + +### 참고자료 + + \ No newline at end of file diff --git "a/.github/ISSUE_TEMPLATE/\352\270\260\355\203\200-\354\227\205\353\254\264.md" "b/.github/ISSUE_TEMPLATE/\352\270\260\355\203\200-\354\227\205\353\254\264.md" new file mode 100644 index 0000000..17800c0 --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\352\270\260\355\203\200-\354\227\205\353\254\264.md" @@ -0,0 +1,23 @@ +--- +name: 기타 업무 +about: 프로덕션 코드가 바뀌지 않고 개발 로직과 상관 없는 가벼운 일들 +title: "[CHORE] 기타 업무" +labels: "🗑 chore" +assignees: + +--- + +## 기타 업무 + +### 설명 + + + +### 🗒 체크리스트 + +- [ ] 어떤 목적으로 수행되는 작업인지 명확히 작성했는가? +- [ ] 이 작업이 다른 개발 환경에 영향을 주지 않는가? + +### 참고자료 + + \ No newline at end of file diff --git "a/.github/ISSUE_TEMPLATE/\353\246\254\355\214\251\355\206\240\353\247\201.md" "b/.github/ISSUE_TEMPLATE/\353\246\254\355\214\251\355\206\240\353\247\201.md" new file mode 100644 index 0000000..e18a3be --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\353\246\254\355\214\251\355\206\240\353\247\201.md" @@ -0,0 +1,24 @@ +--- +name: 리팩토링 +about: production 코드를 리팩토링 +title: "[REFACTOR] 리팩토링" +labels: "🔧 Refactor" +assignees: + +--- + +## 리팩토링 + +### 설명 + + + +### 🗒 체크리스트 + +- [ ] 로직의 가독성이 좋아졌는가? +- [ ] 단일 책임 원칙(SRP)을 잘 따랐는가? +- [ ] 기존 기능이 모두 작동하는가? + +### 참고자료 + + \ No newline at end of file diff --git "a/.github/ISSUE_TEMPLATE/\353\254\270\354\204\234-\354\236\221\354\204\261-\353\260\217-\354\275\224\353\223\234-\354\210\230\354\240\225.md" "b/.github/ISSUE_TEMPLATE/\353\254\270\354\204\234-\354\236\221\354\204\261-\353\260\217-\354\275\224\353\223\234-\354\210\230\354\240\225.md" new file mode 100644 index 0000000..77f0fda --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\353\254\270\354\204\234-\354\236\221\354\204\261-\353\260\217-\354\275\224\353\223\234-\354\210\230\354\240\225.md" @@ -0,0 +1,24 @@ +--- +name: 문서 작성 및 수정 +about: 도큐먼트/문서화 업데이트 +title: "[DOCS] 문서 작성 및 수정" +labels: "📄 Docs" +assignees: + +--- + +## 문서 추가/수정 + +### 설명 + + + +### 🗒 체크리스트 + +- [ ] 문서의 내용이 최신 코드를 반영하고 있는가? +- [ ] 오타나 잘못된 링크는 없는가? +- [ ] 기술 용어가 일관되게 사용되었는가? + +### 참고자료 + + \ No newline at end of file diff --git "a/.github/ISSUE_TEMPLATE/\353\262\204\352\267\270-\354\210\230\354\240\225.md" "b/.github/ISSUE_TEMPLATE/\353\262\204\352\267\270-\354\210\230\354\240\225.md" new file mode 100644 index 0000000..c398d94 --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\353\262\204\352\267\270-\354\210\230\354\240\225.md" @@ -0,0 +1,24 @@ +--- +name: 버그 수정 +about: 버그를 고침 +title: "[FIX] 버그 수정" +labels: "🐞 Bugfix" +assignees: + +--- + +## 버그 수정 + +### 설명 + + + +### 🗒 체크리스트 + +- [ ] 버그가 발생하는 원인을 분석했는가? +- [ ] 버그가 완전하게 해결되었나? +- [ ] 수정 사항이 기존 기능에 영향을 주지 않는지 확인했는가? + +### 참고자료 + + \ No newline at end of file diff --git "a/.github/ISSUE_TEMPLATE/\353\271\214\353\223\234-\352\264\200\353\240\250.md" "b/.github/ISSUE_TEMPLATE/\353\271\214\353\223\234-\352\264\200\353\240\250.md" new file mode 100644 index 0000000..ece1af2 --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\353\271\214\353\223\234-\352\264\200\353\240\250.md" @@ -0,0 +1,24 @@ +--- +name: 빌드 관련 +about: 빌드 관련 수정, 모듈 설치 또는 삭제 등 +title: "[BUILD] 빌드 관련" +labels: "🛠 Build" +assignees: + +--- + +## 빌드 관련 수정 + +### 설명 + + + +### 🗒 체크리스트 + +- [ ] 의존성이 올바르게 추가/삭제 되었는가? +- [ ] 로컬 환경에서 빌드가 성공하는가? +- [ ] 환경 변수나 설정 파일의 변경이 필요한가? + +### 참고자료 + + \ No newline at end of file diff --git "a/.github/ISSUE_TEMPLATE/\354\213\234\352\270\211\355\225\234-\353\262\204\352\267\270-\354\210\230\354\240\225.md" "b/.github/ISSUE_TEMPLATE/\354\213\234\352\270\211\355\225\234-\353\262\204\352\267\270-\354\210\230\354\240\225.md" new file mode 100644 index 0000000..19a70dd --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\354\213\234\352\270\211\355\225\234-\353\262\204\352\267\270-\354\210\230\354\240\225.md" @@ -0,0 +1,24 @@ +--- +name: 시급한 버그 수정 +about: 시급한 버그를 고침 - 현 production에 critical +title: "[HOTFIX] 버그 수정" +labels: "🐞 HOTFIX" +assignees: + +--- + +## 시급한 버그 수정 + +### 설명 + + + +### 🗒 체크리스트 + +- [ ] 버그를 재현할 수 있는 테스트를 했는가? +- [ ] 해결책이 기존 코드의 다른 기능에 영향을 주지 않는가? +- [ ] 로그나 에러 메시지를 충분히 확인했는가? + +### 참고자료 + + \ No newline at end of file diff --git "a/.github/ISSUE_TEMPLATE/\354\275\224\353\223\234-\355\230\225\355\203\234-\353\263\200\352\262\275.md" "b/.github/ISSUE_TEMPLATE/\354\275\224\353\223\234-\355\230\225\355\203\234-\353\263\200\352\262\275.md" new file mode 100644 index 0000000..ee9a6fb --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\354\275\224\353\223\234-\355\230\225\355\203\234-\353\263\200\352\262\275.md" @@ -0,0 +1,24 @@ +--- +name: 코드 형태 변경 +about: 주석, 프리티어 등 기능의 영향없이 코드 모양새만 변경되는 경우 +title: "[STYLE] 코드 형태 변경" +labels: "💄 Style" +assignees: + +--- + +## 코드 형태 변경 + +### 설명 + + + +### 🗒 체크리스트 + +- [ ] 비즈니스 로직에 영향이 없는가? +- [ ] 정해진 코드 스타일 가이드를 준수했는가? +- [ ] 불필요한 주석이나 공백을 제거했는가? + +### 참고자료 + + \ No newline at end of file diff --git "a/.github/ISSUE_TEMPLATE/\355\205\214\354\212\244\355\212\270-\354\275\224\353\223\234.md" "b/.github/ISSUE_TEMPLATE/\355\205\214\354\212\244\355\212\270-\354\275\224\353\223\234.md" new file mode 100644 index 0000000..81a344c --- /dev/null +++ "b/.github/ISSUE_TEMPLATE/\355\205\214\354\212\244\355\212\270-\354\275\224\353\223\234.md" @@ -0,0 +1,24 @@ +--- +name: 테스트 코드 +about: 테스트 코드 추가 및 업데이트 +title: "[TEST] 테스트" +labels: "✅ Test" +assignees: + +--- + +## 테스트 코드 추가/수정 + +### 설명 + + + +### 🗒 체크리스트 + +- [ ] 테스트 케이스가 모든 엣지 케이스를 포함하는가? +- [ ] 테스트가 독립적으로 실행 가능한가? +- [ ] 테스트 코드의 네이밍이 이해하기 쉬운가? + +### 참고자료 + + \ No newline at end of file From 26dc7b02a64e93f543283f97f022802d5a3ed965 Mon Sep 17 00:00:00 2001 From: sunm2n Date: Tue, 21 Apr 2026 18:55:47 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[Chore]=20pr=20=ED=85=9C=ED=94=8C=EB=A6=BF?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IssueNum #1 --- .github/pull_request_template.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..58b9b19 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,19 @@ +# 요약 + + +# 연관 이슈 및 Close 할 이슈 작성 +(fix #일이삼) + + +-- PR 시 다음과 같이 작성 +#123 + +close #123 + +# Pull Request 체크리스트 + +## TODO + +- [ ] 최종 결과물을 확인했는가? +- [ ] 의미 있는 커밋 메시지를 작성했는가? + \ No newline at end of file From abc1f9df6825466c4ab20e81321f8ab75b14f6cb Mon Sep 17 00:00:00 2001 From: sunm2n Date: Tue, 21 Apr 2026 18:55:58 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[Chore]=20=EC=9E=90=EB=8F=99=ED=99=94=20?= =?UTF-8?q?=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IssueNum #1 --- .github/workflows/auto-close-issues.yml | 57 +++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/auto-close-issues.yml diff --git a/.github/workflows/auto-close-issues.yml b/.github/workflows/auto-close-issues.yml new file mode 100644 index 0000000..eeb3692 --- /dev/null +++ b/.github/workflows/auto-close-issues.yml @@ -0,0 +1,57 @@ +name: Auto Close Issues + +on: + pull_request: + types: [closed] + +jobs: + close-issues: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + + steps: + - name: Close linked issues + uses: actions/github-script@v7 + with: + script: | + const prBody = context.payload.pull_request.body || ''; + const prTitle = context.payload.pull_request.title || ''; + + // PR 본문과 제목에서 이슈 번호 찾기 + const issueRegex = /(?:close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved)\s+#(\d+)/gi; + const matches = [...prBody.matchAll(issueRegex), ...prTitle.matchAll(issueRegex)]; + + for (const match of matches) { + const issueNumber = parseInt(match[1]); + + try { + // 이슈 상태 확인 + const issue = await github.rest.issues.get({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber + }); + + if (issue.data.state === 'open') { + // 이슈 종료 + await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + state: 'closed' + }); + + // 백로그 라벨 추가 (선택사항) + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueNumber, + labels: ['백로그'] + }); + + console.log(`Closed issue #${issueNumber}`); + } + } catch (error) { + console.log(`Failed to close issue #${issueNumber}: ${error.message}`); + } + } \ No newline at end of file