Skip to content

Commit 056cda7

Browse files
Gyuhyeok99claude
andcommitted
feat: 스터디원 정보 업데이트 및 이슈 자동화 추가
- 이슈 템플릿에 실제 스터디원 추가 - 이슈 생성 워크플로우에 스터디원 반영 - 매주 월요일 자동 이슈 생성 워크플로우 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 1ac1fd7 commit 056cda7

3 files changed

Lines changed: 116 additions & 6 deletions

File tree

.github/ISSUE_TEMPLATE/weekly-problems.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ assignees: ''
4040

4141
### ✅ 진행 상황
4242

43-
- [ ] @gyuhyeok99
44-
- [ ] @member2
45-
- [ ] @member3
43+
- [ ] @sukangpunch
44+
- [ ] @Hexeong
45+
- [ ] @whqtker
46+
- [ ] @JAEHEE25
47+
- [ ] @Gyuhyeok99
4648

4749
---
4850

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: Auto Create Weekly Issue
2+
3+
on:
4+
schedule:
5+
# 매주 월요일 오전 9시 (UTC 0시, 한국시간 9시)
6+
- cron: '0 0 * * 1'
7+
workflow_dispatch: # 수동 실행도 가능
8+
9+
jobs:
10+
create-issue:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
issues: write
14+
15+
steps:
16+
- name: Calculate week number and dates
17+
id: calc
18+
run: |
19+
# 현재 날짜 기준 주차 계산 (1월 1일 기준)
20+
WEEK_NUM=$(date +%U)
21+
# 주차를 2자리로 포맷 (01, 02, ...)
22+
WEEK_NUM_FORMATTED=$(printf "%02d" $((WEEK_NUM + 1)))
23+
24+
# 이번 주 월요일과 일요일 계산
25+
START_DATE=$(date -d "monday" +%Y.%m.%d)
26+
END_DATE=$(date -d "sunday" +%Y.%m.%d)
27+
28+
echo "week_number=$WEEK_NUM_FORMATTED" >> $GITHUB_OUTPUT
29+
echo "start_date=$START_DATE" >> $GITHUB_OUTPUT
30+
echo "end_date=$END_DATE" >> $GITHUB_OUTPUT
31+
32+
- name: Create weekly issue
33+
uses: actions/github-script@v7
34+
with:
35+
script: |
36+
const weekNumber = '${{ steps.calc.outputs.week_number }}';
37+
const startDate = '${{ steps.calc.outputs.start_date }}';
38+
const endDate = '${{ steps.calc.outputs.end_date }}';
39+
40+
const issueBody = `## Week ${weekNumber} (${startDate} ~ ${endDate})
41+
42+
이번 주 공통 문제입니다! 💪
43+
44+
### 📝 문제 목록
45+
46+
#### 문제 1
47+
- **플랫폼**: 백준 / 프로그래머스 / 리트코드
48+
- **문제 번호**:
49+
- **문제 이름**:
50+
- **난이도**:
51+
- **링크**:
52+
- **분류**: (예: DP, 그리디, DFS/BFS 등)
53+
54+
#### 문제 2
55+
- **플랫폼**:
56+
- **문제 번호**:
57+
- **문제 이름**:
58+
- **난이도**:
59+
- **링크**:
60+
- **분류**:
61+
62+
#### 문제 3
63+
- **플랫폼**:
64+
- **문제 번호**:
65+
- **문제 이름**:
66+
- **난이도**:
67+
- **링크**:
68+
- **분류**:
69+
70+
---
71+
72+
### ✅ 진행 상황
73+
74+
- [ ] @sukangpunch
75+
- [ ] @Hexeong
76+
- [ ] @whqtker
77+
- [ ] @JAEHEE25
78+
- [ ] @Gyuhyeok99
79+
80+
---
81+
82+
### 💡 참고사항
83+
84+
문제 풀이는 \`weekly/week${weekNumber}/\` 디렉토리에 업로드해주세요!
85+
86+
\`\`\`bash
87+
weekly/week${weekNumber}/
88+
├── BOJ_1234_문제명/
89+
│ ├── sukangpunch.py
90+
│ └── Hexeong.java
91+
└── PGS_5678_문제명/
92+
└── whqtker.cpp
93+
\`\`\`
94+
95+
> ⚠️ **문제 정보를 채워주세요!** 이슈 생성 후 문제 정보를 편집해서 추가해주세요.
96+
`;
97+
98+
await github.rest.issues.create({
99+
owner: context.repo.owner,
100+
repo: context.repo.repo,
101+
title: `[Week${weekNumber}] ${startDate} ~ ${endDate} 주차 문제`,
102+
body: issueBody,
103+
labels: ['weekly-challenge']
104+
});
105+
106+
console.log(`✅ Week ${weekNumber} issue created!`);

.github/workflows/create-weekly-issue.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,11 @@ jobs:
6565
6666
### ✅ 진행 상황
6767
68-
- [ ] @gyuhyeok99
69-
- [ ] @member2
70-
- [ ] @member3
68+
- [ ] @sukangpunch
69+
- [ ] @Hexeong
70+
- [ ] @whqtker
71+
- [ ] @JAEHEE25
72+
- [ ] @Gyuhyeok99
7173
7274
---
7375

0 commit comments

Comments
 (0)