Skip to content

Commit 5d442fb

Browse files
authored
Refactor Weekly Meetup Issue Creator workflow
Updated the cron schedule comment and modified the issue creation process to use the body from the latest issue.
1 parent baa763b commit 5d442fb

1 file changed

Lines changed: 14 additions & 27 deletions

File tree

.github/workflows/Weekly Meetup Issue Creator.yml

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@ name: Weekly Meetup Issue Creator
22

33
on:
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

88
jobs:
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

Comments
 (0)