Skip to content

Commit 5947755

Browse files
committed
fix ( #3 ) : Yaml 문법 오류 해결
1 parent 0d5b54e commit 5947755

1 file changed

Lines changed: 27 additions & 22 deletions

File tree

.github/workflows/auto-sync-pr-to-docs.yml

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,15 @@ on:
1515
title:
1616
description: 'PR 제목'
1717
required: true
18+
1819
jobs:
1920
sync-to-docs:
2021
runs-on: ubuntu-latest
2122
steps:
2223
- name: Checkout repository
2324
uses: actions/checkout@v4
25+
2426
- name: Set PR variables
25-
id: set-vars
2627
run: |
2728
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
2829
echo "PR_NUMBER=${{ github.event.inputs.pr_number }}" >> $GITHUB_ENV
@@ -33,21 +34,22 @@ jobs:
3334
echo "PR_TITLE=${{ github.event.pull_request.title }}" >> $GITHUB_ENV
3435
echo "PR_BRANCH=${{ github.head_ref }}" >> $GITHUB_ENV
3536
fi
36-
- name: Create branch and PR in target repository
37+
38+
- name: Create branch and PR
3739
env:
3840
TARGET_REPO: "${{ secrets.TARGET_REPOSITORY }}"
3941
PAT_TOKEN: "${{ secrets.TARGET_REPO_TOKEN }}"
40-
TARGET_BRANCH: "main" # 기본값으로 main 사용
42+
TARGET_BRANCH: "main"
4143
GITHUB_REPO: "${{ github.repository }}"
4244
run: |
43-
# 현재 리포지토리 이름 추출
45+
# 리포지토리 이름 추출
4446
REPO_NAME=$(echo "$GITHUB_REPO" | cut -d'/' -f2)
4547
4648
# Git 설정
4749
git config --global user.name "GitHub Actions Bot"
4850
git config --global user.email "actions@github.com"
4951
50-
# 타임스탬프 생성 (YYYYMMDD-HHMMSS 형식)
52+
# 타임스탬프 생성
5153
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
5254
5355
# 브랜치 이름 설정
@@ -56,7 +58,6 @@ jobs:
5658
BRANCH_NAME="${TIMESTAMP}/${BRANCH_CONTENT}"
5759
5860
echo "생성될 브랜치 이름: ${BRANCH_NAME}"
59-
echo "예시 브랜치 이름 형식: 20250510-123456/casper-application-pr7"
6061
6162
# 대상 리포지토리 클론
6263
git clone "https://${PAT_TOKEN}@github.com/${TARGET_REPO}.git" target-repo
@@ -65,34 +66,38 @@ jobs:
6566
# 브랜치 생성
6667
git checkout -b "${BRANCH_NAME}" "${TARGET_BRANCH}"
6768
68-
# 빈 커밋 생성 (파일 추가 없이)
69+
# 빈 커밋 생성
6970
git commit --allow-empty -m "Auto-sync from ${REPO_NAME} PR #${PR_NUMBER}"
7071
git push origin "${BRANCH_NAME}"
7172
72-
# PR 내용 준비 (상세 정보 포함)
73-
PR_BODY="# 자동으로 생성된 PR입니다.
74-
75-
- **PR 번호:** #${PR_NUMBER}
76-
- **PR 제목:** ${PR_TITLE}
77-
- **원본 브랜치:** ${PR_BRANCH}
78-
- **원본 저장소:** ${GITHUB_REPO}
79-
- **링크:** https://github.com/${GITHUB_REPO}/pull/${PR_NUMBER}
80-
- **생성 시간:** $(date)
81-
82-
---
83-
이 PR은 ${REPO_NAME} 저장소의 PR #${PR_NUMBER}에 대응하여 자동으로 생성되었습니다."
84-
8573
# jq 설치
8674
sudo apt-get update && sudo apt-get install -y jq
8775
76+
# PR 본문 파일 생성
77+
echo "# 자동으로 생성된 PR입니다." > pr_body.txt
78+
echo "" >> pr_body.txt
79+
echo "## 원본 PR 정보" >> pr_body.txt
80+
echo "- **PR 번호:** #${PR_NUMBER}" >> pr_body.txt
81+
echo "- **PR 제목:** ${PR_TITLE}" >> pr_body.txt
82+
echo "- **원본 브랜치:** ${PR_BRANCH}" >> pr_body.txt
83+
echo "- **원본 저장소:** ${GITHUB_REPO}" >> pr_body.txt
84+
echo "- **링크:** https://github.com/${GITHUB_REPO}/pull/${PR_NUMBER}" >> pr_body.txt
85+
echo "- **생성 시간:** $(date)" >> pr_body.txt
86+
echo "" >> pr_body.txt
87+
echo "---" >> pr_body.txt
88+
echo "이 PR은 ${REPO_NAME} 저장소의 PR #${PR_NUMBER}에 대응하여 자동으로 생성되었습니다." >> pr_body.txt
89+
90+
# PR 본문 이스케이프
91+
PR_BODY_ESCAPED=$(jq -Rs . < pr_body.txt)
92+
8893
# PR 생성
8994
curl -X POST \
9095
-H "Authorization: token ${PAT_TOKEN}" \
9196
-H "Accept: application/vnd.github.v3+json" \
9297
"https://api.github.com/repos/${TARGET_REPO}/pulls" \
9398
-d "{
9499
\"title\": \"[Auto] ${REPO_NAME}: ${PR_TITLE}\",
95-
\"body\": $(echo "$PR_BODY" | jq -R -s .),
100+
\"body\": ${PR_BODY_ESCAPED},
96101
\"head\": \"${BRANCH_NAME}\",
97102
\"base\": \"${TARGET_BRANCH}\"
98-
}"
103+
}"

0 commit comments

Comments
 (0)