@@ -2,15 +2,14 @@ name: Weekly Meetup Issue Creator
22
33on :
44 schedule :
5- - cron : ' 0 13 * * 0' # 매주 일요일 22:00 KST
5+ - cron : ' 0 13 * * 0' # 매주 일요일 22:00 KST (13:00 UTC)
66 workflow_dispatch :
77
88jobs :
99 create-meetup-issue :
1010 runs-on : ubuntu-latest
1111 permissions :
1212 issues : write
13- repository-projects : write
1413
1514 steps :
1615 - name : Checkout repository
@@ -27,42 +26,30 @@ jobs:
2726 # 2. 타겟 날짜 계산 (일요일 실행 기준 +6일 = 다가오는 토요일)
2827 TARGET_DATE=$(date -d "+6 days" +%Y-%m-%d)
2928
30- # 3. 회차(Count) 및 연도/분기/프로젝트명 계산
29+ # 3. 최근 이슈에서 본문(Body) 가져오기
30+ # 가장 최근 생성된 이슈 1개의 본문을 추출합니다.
31+ LATEST_BODY=$(gh issue list --state all --limit 1 --json body --jq '.[0].body')
32+
33+ # 4. 회차(Count) 계산
3134 DAYS_DIFF=$(( ($(date -d "$TARGET_DATE" +%s) - $(date -d "$BASE_DATE" +%s)) / 86400 ))
3235 WEEKS_DIFF=$(( DAYS_DIFF / 7 ))
3336 NEXT_COUNT=$(( BASE_COUNT + WEEKS_DIFF ))
3437
38+ # 5. 연도 및 분기 계산
3539 YEAR=$(date -d "$TARGET_DATE" +'%Y')
3640 MONTH=$(date -d "$TARGET_DATE" +%-m)
3741 QUARTER=$(((MONTH - 1) / 3 + 1))
3842
3943 MILESTONE="${YEAR} ${QUARTER}Q"
40- PROJECT_NAME="${YEAR} Online study meetup"
4144 NEXT_TITLE="${NEXT_COUNT}th online meetup, ${TARGET_DATE}"
4245
43- # 4. 새 이슈 생성 (이슈 생성 후 URL을 변수에 저장)
44- # --assignee는 본인 아이디인 'jongfeel'로 고정
45- NEW_ISSUE_URL=$(gh issue create \
46+ echo "Syncing content from latest issue..."
47+ echo "Target Title: $NEXT_TITLE"
48+
49+ # 6. 새 이슈 생성 (이전 이슈 본문 적용)
50+ gh issue create \
4651 --title "$NEXT_TITLE" \
47- --body "## Weekly Online Study Meetup ($TARGET_DATE)\n자동 생성된 주간 미트업 이슈입니다. " \
52+ --body "$LATEST_BODY " \
4853 --assignee "jongfeel" \
4954 --label "$YEAR" \
50- --milestone "$MILESTONE")
51-
52- echo "Issue created: $NEW_ISSUE_URL"
53-
54- # 5. 프로젝트에 이슈 추가 (item-add 명령어 사용)
55- # 'item-create'는 드래프트 이슈를 만들 때 사용하며,
56- # 기존 이슈를 연결할 때는 'item-add'와 '--url'을 사용해야 합니다.
57- # 프로젝트 번호를 모를 경우 이름으로 찾도록 구성했습니다.
58-
59- # 프로젝트 번호(Number) 추출
60- PROJECT_NUMBER=$(gh project list --owner "${{ github.repository_owner }}" --format json | jq -r ".projects[] | select(.title == \"$PROJECT_NAME\") | .number")
61-
62- if [ -z "$PROJECT_NUMBER" ] || [ "$PROJECT_NUMBER" == "null" ]; then
63- echo "Project '$PROJECT_NAME' not found."
64- else
65- gh project item-add "$PROJECT_NUMBER" \
66- --owner "${{ github.repository_owner }}" \
67- --url "$NEW_ISSUE_URL"
68- fi
55+ --milestone "$MILESTONE"
0 commit comments