From ac7e642682e3c3fc3c6591e4e9d20e84db739e61 Mon Sep 17 00:00:00 2001 From: mini Date: Thu, 10 Jul 2025 23:45:20 +0900 Subject: [PATCH 01/15] =?UTF-8?q?fix:=20poetry=20install=20=EC=97=90?= =?UTF-8?q?=EB=9F=AC=20=ED=95=B4=EA=B2=B0=EC=9A=A9=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=ED=8F=B4=EB=8D=94=20=EC=B6=94=EA=B0=80=20=EB=B0=8F?= =?UTF-8?q?=20=ED=8C=80=EB=AA=85=20=EC=88=98=EC=A0=95=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=9D=B8=ED=95=9Cpyproject.toml=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py => app/main.py | 0 pyproject.toml | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename main.py => app/main.py (100%) diff --git a/main.py b/app/main.py similarity index 100% rename from main.py rename to app/main.py diff --git a/pyproject.toml b/pyproject.toml index 6117fc2..e13ea88 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,9 +1,9 @@ [project] -name = "askql-api" +name = "app" version = "0.1.0" description = "" authors = [ - {name = "AskQL Team"} + {name = "Queryus"} ] license = {text = "MIT"} readme = "README.md" From 0c5b87e9792edf50dd2b2b2f7ee1a81d20eecc4c Mon Sep 17 00:00:00 2001 From: mini Date: Thu, 10 Jul 2025 23:45:45 +0900 Subject: [PATCH 02/15] =?UTF-8?q?docs:=20README.md=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c06cf6f..15e0a0b 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,9 @@ 2. **저장소 복제** ```bash - git clone https://github.com/AskQL/askql_api.git - cd askql_api # 복제된 저장소 디렉토리로 이동 + git clone https://github.com/Queryus/QGenie_api.git + cd app # 복제된 저장소 디렉토리로 이동 + ``` 3. **Poetry 프로젝트 초기화 및 종속성 설치** From 1662eaf6fc65ac43dc4c47a51b8347befc6fe8a7 Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Thu, 17 Jul 2025 22:27:13 +0900 Subject: [PATCH 03/15] =?UTF-8?q?feat:=20discord=20=EB=B4=87=20=EB=8F=84?= =?UTF-8?q?=EC=9E=85(pr,=20=EB=B0=B0=ED=8F=AC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflows/build_deploy_executables.yml | 111 ------------ .../workflows/build_release_and_notify.yml | 159 ++++++++++++++++++ .github/workflows/pr_bot.yml | 69 ++++++++ 3 files changed, 228 insertions(+), 111 deletions(-) delete mode 100644 .github/workflows/build_deploy_executables.yml create mode 100644 .github/workflows/build_release_and_notify.yml create mode 100644 .github/workflows/pr_bot.yml diff --git a/.github/workflows/build_deploy_executables.yml b/.github/workflows/build_deploy_executables.yml deleted file mode 100644 index df7eb80..0000000 --- a/.github/workflows/build_deploy_executables.yml +++ /dev/null @@ -1,111 +0,0 @@ -# .github/workflows/build_deploy_executables.yml - -name: Build and Deploy Executables - -on: - release: - types: [published] # Release가 'published' 상태가 될 때 트리거 - -jobs: - # 1단계: 각 OS에서 실행 파일을 빌드하는 잡 - build: - strategy: - matrix: - os: [macos-latest, windows-latest] # macOS와 Windows 환경에서 각각 빌드 - runs-on: ${{ matrix.os }} # 매트릭스에서 선택된 OS에서 잡 실행 - - steps: - # 1. Git 리포지토리의 소스 코드를 가져옵니다. - - name: Checkout code - uses: actions/checkout@v4 - - # 2. Poetry 설치 (디버깅 출력 추가) - - name: Install Poetry - shell: bash - run: | - echo "Installing Poetry..." - curl -sSL https://install.python-poetry.org | python3 - - echo 'Poetry 설치 완료' - - # OS별 Poetry 경로를 PATH에 추가 - if [[ "$RUNNER_OS" == "Windows" ]]; then - echo "C:/Users/runneradmin/AppData/Roaming/Python/Scripts" >> $GITHUB_PATH - else - echo "$HOME/.local/bin" >> $GITHUB_PATH - fi - - # 디버깅 출력 - echo "Poetry 위치: $(which poetry || echo 'Poetry not found')" - echo "Poetry 버전:" - poetry --version || echo 'Poetry 실행 실패' - - # 3. Poetry를 사용하여 파이썬 환경을 설정합니다. - - name: Set up Python with Poetry - uses: actions/setup-python@v5 - with: - python-version: "3.11" - cache: "poetry" - - # 4. Poetry 의존성(PyInstaller 포함)을 설치합니다. - - name: Install Poetry dependencies - run: poetry install --no-root - - # 5. OS에 따라 실행 파일의 이름(.exe 확장자 등)을 결정합니다. - - name: Set executable name - id: set_name - shell: bash - run: | - if [ "${{ runner.os }}" == "macOS" ]; then - echo "EXE_NAME=askql-api" >> $GITHUB_ENV - elif [ "${{ runner.os }}" == "Windows" ]; then - echo "EXE_NAME=askql-api.exe" >> $GITHUB_ENV - fi - - # 6. PyInstaller를 사용해 파이썬 코드를 실행 파일로 만듭니다. - - name: Build executable with PyInstaller - run: poetry run pyinstaller main.py --name ${{ env.EXE_NAME }} --onefile --noconsole - - # 7. 빌드된 실행 파일을 다음 단계(deploy)에서 사용할 수 있도록 아티팩트로 업로드합니다. - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: executable-${{ runner.os }} - path: dist/${{ env.EXE_NAME }} - retention-days: 1 # 아티팩트 보관 기간 (하루) - - # 2단계: 빌드된 실행 파일들을 Front 리포지토리에 배포하는 잡 - deploy: - needs: build - runs-on: ubuntu-latest - - steps: - - name: Checkout Front Repository - uses: actions/checkout@v4 - with: - repository: AskQL/askql_app - token: ${{ secrets.PAT_FOR_FRONT_REPO }} - ref: develop - - - name: Download all artifacts - uses: actions/download-artifact@v4 - with: - path: artifacts - - - name: Organize files - run: | - mkdir -p resources/mac resources/win - mv artifacts/executable-macOS/askql-api resources/mac/ - mv artifacts/executable-Windows/askql-api.exe resources/win/ - - - name: Commit and push changes - run: | - git config --global user.name 'github-actions' - git config --global user.email 'github-actions@github.com' - git add . - # 변경 사항이 있을 때만 커밋 및 푸시 - if git diff-index --quiet HEAD; then - echo "No changes to commit to AskQL APP repository." - else - git commit -m "feat: API 실행 파일 업데이트 (${{ github.ref_name }})" - git push - fi diff --git a/.github/workflows/build_release_and_notify.yml b/.github/workflows/build_release_and_notify.yml new file mode 100644 index 0000000..8fe6f1f --- /dev/null +++ b/.github/workflows/build_release_and_notify.yml @@ -0,0 +1,159 @@ +# .github/workflows/build_release_and_notify.yml + +name: Build and Deploy Executables + +on: + release: + types: [published] # Release가 'published' 상태가 될 때 트리거 + +jobs: + # ================================== + # 파이프라인 시작 알림 + # ================================== + start: + runs-on: ubuntu-latest + steps: + - name: Send Pipeline Start Notification + uses: tsg-bot/discord-webhook-action@v1.1.1 + with: + webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} + color: "#31a6f5" # 노란색 + username: "파이프라인 봇" + description: "🔷🔷🔷 **${{ github.ref_name }}** 릴리즈 배포 파이프라인을 시작합니다. 🔷🔷🔷" + # ================================== + # 실행 파일 빌드 + # ================================== + build: + needs: start + strategy: + matrix: + os: [macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + + steps: + # 1. Git 리포지토리의 소스 코드를 가져옵니다. + - name: Checkout code + uses: actions/checkout@v4 + + # 2. Poetry 설치 (디버깅 출력 추가) + - name: Install Poetry + shell: bash + run: | + curl -sSL https://install.python-poetry.org | python3 - + if [[ "$RUNNER_OS" == "Windows" ]]; then + echo "C:/Users/runneradmin/AppData/Roaming/Python/Scripts" >> $GITHUB_PATH + else + echo "$HOME/.local/bin" >> $GITHUB_PATH + fi + + # 3. Poetry를 사용하여 파이썬 환경을 설정합니다. + - name: Set up Python with Poetry + uses: actions/setup-python@v5 + with: + python-version: "3.11" + cache: "poetry" + + # 4. Poetry 의존성(PyInstaller 포함)을 설치합니다. + - name: Install Poetry dependencies + run: poetry install --no-root + + # 5. OS에 따라 실행 파일의 이름(.exe 확장자 등)을 결정합니다. + - name: Set executable name + id: set_name + shell: bash + run: | + if [ "${{ runner.os }}" == "macOS" ]; then + echo "EXE_NAME=qgenie-api" >> $GITHUB_ENV + elif [ "${{ runner.os }}" == "Windows" ]; then + echo "EXE_NAME=qgenie-api.exe" >> $GITHUB_ENV + fi + + # 6. PyInstaller를 사용해 파이썬 코드를 실행 파일로 만듭니다. + - name: Build executable with PyInstaller + run: poetry run pyinstaller main.py --name ${{ env.EXE_NAME }} --onefile --noconsole + + # 7. 빌드된 실행 파일을 다음 단계(deploy)에서 사용할 수 있도록 아티팩트로 업로드합니다. + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: executable-${{ runner.os }} + path: dist/${{ env.EXE_NAME }} + retention-days: 1 + + # ================================== + # 배포 + # ================================== + deploy: + needs: build + runs-on: ubuntu-latest + + steps: + - name: Checkout App Repository + uses: actions/checkout@v4 + with: + repository: Queryus/QGenie_app + token: ${{ secrets.PAT_FOR_FRONT_REPO }} + ref: develop + + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: artifacts + + - name: Organize files + run: | + mkdir -p resources/mac resources/win + mv artifacts/executable-macOS/qgenie-api resources/mac/ + mv artifacts/executable-Windows/qgenie-api.exe resources/win/ + + - name: Commit and push changes + run: | + git config --global user.name 'github-actions' + git config --global user.email 'github-actions@github.com' + git add . + if git diff-index --quiet HEAD; then + echo "No changes to commit to QGenie APP repository." + else + git commit -m "feat: API 실행 파일 업데이트 (${{ github.ref_name }})" + git push + fi + + # ================================== + # 파이프라인 최종 결과 알림 + # ================================== + finish: + needs: deploy + runs-on: ubuntu-latest + if: always() + + steps: + - name: Send Success Notification + if: needs.deploy.result == 'success' + uses: tsg-bot/discord-webhook-action@v1.1.1 + with: + webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} + color: "#2ecc71" # 초록색 + username: "파이프라인 봇" + title: "🎉 New Release: ${{ github.ref_name }}" + url: ${{ github.event.release.html_url }} + description: "✅✅✅ **${{ github.ref_name }}** 릴리즈 배포가 성공적으로 완료되었습니다! ✅✅✅" + + - name: Send Failure Notification + if: needs.deploy.result == 'failure' + uses: tsg-bot/discord-webhook-action@v1.1.1 + with: + webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} + color: "#e74c3c" # 빨간색 + username: "파이프라인 봇" + description: "❌❌❌ **${{ github.ref_name }}** 릴리즈 배포 중 오류가 발생했습니다. ❌❌❌" + url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + + - name: Send Skipped or Cancelled Notification + if: needs.deploy.result == 'skipped' || needs.deploy.result == 'cancelled' + uses: tsg-bot/discord-webhook-action@v1.1.1 + with: + webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} + color: "#fcf56f" # 노란색 + username: "파이프라인 봇" + description: "🟡🟡🟡 **${{ github.ref_name }}** 릴리즈 배포가 완료되지 않았습니다. (상태: `${{ needs.deploy.result }}`)\n이전 단계(Build)에서 문제가 발생했을 수 있습니다. 🟡🟡🟡" + url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" diff --git a/.github/workflows/pr_bot.yml b/.github/workflows/pr_bot.yml new file mode 100644 index 0000000..5b850db --- /dev/null +++ b/.github/workflows/pr_bot.yml @@ -0,0 +1,69 @@ +# .github/workflows/pr_bot.yml +name: Pull Request Bot + +on: + # Pull Request 관련 이벤트 발생 시 + pull_request: + types: [opened, closed, reopened, synchronize] + issue_comment: + types: [created] + +jobs: + notify: + runs-on: ubuntu-latest + steps: + # ------------------------- + # 생성/동기화 알림 + # ------------------------- + - name: Send PR Created Notification + if: github.event_name == 'pull_request' && (github.event.action == 'opened' || github.event.action == 'synchronize') + uses: tsg-bot/discord-webhook-action@v1.1.1 + with: + webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} + title: "Pull Request #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}" + url: ${{ github.event.pull_request.html_url }} + color: "#31a6f5" # 파란색 + username: "GitHub PR 봇" + description: "🔷🔷🔷 **${{ github.actor }}**님이 Pull Request를 생성하거나 업데이트했습니다. 🔷🔷🔷" + + # ------------------------- + # 댓글 알림 + # ------------------------- + - name: Send PR Comment Notification + if: github.event_name == 'issue_comment' && github.event.issue.pull_request + uses: tsg-bot/discord-webhook-action@v1.1.1 + with: + webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} + title: "New Comment on PR #${{ github.event.issue.number }}" + url: ${{ github.event.comment.html_url }} + color: "#e67e22" # 주황색 + username: "GitHub 댓글 봇" + description: "🟠🟠🟠 **${{ github.actor }}**님의 새 댓글: \n${{ github.event.comment.body }} 🟠🟠🟠" + + # ------------------------- + # 머지(Merge) 알림 + # ------------------------- + - name: Send PR Merged Notification + if: github.event.action == 'closed' && github.event.pull_request.merged == true + uses: tsg-bot/discord-webhook-action@v1.1.1 + with: + webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} + title: "Pull Request #${{ github.event.pull_request.number }} Merged!" + url: ${{ github.event.pull_request.html_url }} + color: "#4ed971" # 초록색 + username: "GitHub Merge 봇" + description: "✅✅✅ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 머지했습니다. ✅✅✅" + + # ------------------------- + # 닫힘(Close) 알림 + # ------------------------- + - name: Send PR Closed Notification + if: github.event.action == 'closed' && github.event.pull_request.merged == false + uses: tsg-bot/discord-webhook-action@v1.1.1 + with: + webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} + title: "Pull Request #${{ github.event.pull_request.number }} Closed" + url: ${{ github.event.pull_request.html_url }} + color: "#e62410" # 빨간색 + username: "GitHub PR 봇" + description: "❌❌❌ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 닫았습니다. ❌❌❌" From 8347ec8ee3f92b9c76b7e1953cc69d1792626f48 Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Thu, 17 Jul 2025 22:39:07 +0900 Subject: [PATCH 04/15] =?UTF-8?q?fix:=20=EC=95=A1=EC=85=98=20=EC=A3=BC?= =?UTF-8?q?=EC=86=8C=EB=A5=BC=20=EC=B0=B8=EC=A1=B0=ED=95=98=EC=A7=80=20?= =?UTF-8?q?=EB=AA=BB=ED=95=B4=20=EC=A3=BC=EC=86=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build_release_and_notify.yml | 8 ++++---- .github/workflows/pr_bot.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build_release_and_notify.yml b/.github/workflows/build_release_and_notify.yml index 8fe6f1f..a21e9bb 100644 --- a/.github/workflows/build_release_and_notify.yml +++ b/.github/workflows/build_release_and_notify.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Send Pipeline Start Notification - uses: tsg-bot/discord-webhook-action@v1.1.1 + uses: antoinezanardi/discord-webhook-action@v2 with: webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} color: "#31a6f5" # 노란색 @@ -129,7 +129,7 @@ jobs: steps: - name: Send Success Notification if: needs.deploy.result == 'success' - uses: tsg-bot/discord-webhook-action@v1.1.1 + uses: antoinezanardi/discord-webhook-action@v2 with: webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} color: "#2ecc71" # 초록색 @@ -140,7 +140,7 @@ jobs: - name: Send Failure Notification if: needs.deploy.result == 'failure' - uses: tsg-bot/discord-webhook-action@v1.1.1 + uses: antoinezanardi/discord-webhook-action@v2 with: webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} color: "#e74c3c" # 빨간색 @@ -150,7 +150,7 @@ jobs: - name: Send Skipped or Cancelled Notification if: needs.deploy.result == 'skipped' || needs.deploy.result == 'cancelled' - uses: tsg-bot/discord-webhook-action@v1.1.1 + uses: antoinezanardi/discord-webhook-action@v2 with: webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} color: "#fcf56f" # 노란색 diff --git a/.github/workflows/pr_bot.yml b/.github/workflows/pr_bot.yml index 5b850db..7def2b1 100644 --- a/.github/workflows/pr_bot.yml +++ b/.github/workflows/pr_bot.yml @@ -17,7 +17,7 @@ jobs: # ------------------------- - name: Send PR Created Notification if: github.event_name == 'pull_request' && (github.event.action == 'opened' || github.event.action == 'synchronize') - uses: tsg-bot/discord-webhook-action@v1.1.1 + uses: antoinezanardi/discord-webhook-action@v2 with: webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} title: "Pull Request #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}" @@ -31,7 +31,7 @@ jobs: # ------------------------- - name: Send PR Comment Notification if: github.event_name == 'issue_comment' && github.event.issue.pull_request - uses: tsg-bot/discord-webhook-action@v1.1.1 + uses: antoinezanardi/discord-webhook-action@v2 with: webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} title: "New Comment on PR #${{ github.event.issue.number }}" @@ -45,7 +45,7 @@ jobs: # ------------------------- - name: Send PR Merged Notification if: github.event.action == 'closed' && github.event.pull_request.merged == true - uses: tsg-bot/discord-webhook-action@v1.1.1 + uses: antoinezanardi/discord-webhook-action@v2 with: webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} title: "Pull Request #${{ github.event.pull_request.number }} Merged!" @@ -59,7 +59,7 @@ jobs: # ------------------------- - name: Send PR Closed Notification if: github.event.action == 'closed' && github.event.pull_request.merged == false - uses: tsg-bot/discord-webhook-action@v1.1.1 + uses: antoinezanardi/discord-webhook-action@v2 with: webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} title: "Pull Request #${{ github.event.pull_request.number }} Closed" From c2dbc7b67287373ff3dbbb5bd03b010bf0dad66d Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Thu, 17 Jul 2025 22:47:46 +0900 Subject: [PATCH 05/15] =?UTF-8?q?fix:=20=EC=99=B8=EB=B6=80=20=EC=95=A1?= =?UTF-8?q?=EC=85=98=20=EC=A0=9C=EC=99=B8=ED=95=98=EA=B3=A0=20=EC=9E=90?= =?UTF-8?q?=EC=B2=B4=EC=A0=81=EC=9C=BC=EB=A1=9C=20=ED=95=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflows/build_release_and_notify.yml | 78 +++++++++++------- .github/workflows/pr_bot.yml | 82 +++++++++++-------- 2 files changed, 98 insertions(+), 62 deletions(-) diff --git a/.github/workflows/build_release_and_notify.yml b/.github/workflows/build_release_and_notify.yml index a21e9bb..0c942d8 100644 --- a/.github/workflows/build_release_and_notify.yml +++ b/.github/workflows/build_release_and_notify.yml @@ -14,12 +14,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Send Pipeline Start Notification - uses: antoinezanardi/discord-webhook-action@v2 - with: - webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} - color: "#31a6f5" # 노란색 - username: "파이프라인 봇" - description: "🔷🔷🔷 **${{ github.ref_name }}** 릴리즈 배포 파이프라인을 시작합니다. 🔷🔷🔷" + run: | + curl -X POST -H "Content-Type: application/json" \ + -d '{ + "username": "파이프라인 봇", + "embeds": [{ + "description": "🔷🔷🔷 **${{ github.ref_name }}** 릴리즈 배포 파이프라인을 시작합니다. 🔷🔷🔷", + "color": 3253045 + }] + }' \ + ${{ secrets.DISCORD_WEBHOOK_URL }} # ================================== # 실행 파일 빌드 # ================================== @@ -129,31 +133,45 @@ jobs: steps: - name: Send Success Notification if: needs.deploy.result == 'success' - uses: antoinezanardi/discord-webhook-action@v2 - with: - webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} - color: "#2ecc71" # 초록색 - username: "파이프라인 봇" - title: "🎉 New Release: ${{ github.ref_name }}" - url: ${{ github.event.release.html_url }} - description: "✅✅✅ **${{ github.ref_name }}** 릴리즈 배포가 성공적으로 완료되었습니다! ✅✅✅" + run: | + curl -X POST -H "Content-Type: application/json" \ + -d '{ + "username": "파이프라인 봇", + "embeds": [{ + "title": "🎉 New Release: ${{ github.ref_name }}", + "url": "${{ github.event.release.html_url }}", + "description": "✅✅✅ **${{ github.ref_name }}** 릴리즈 배포가 성공적으로 완료되었습니다! ✅✅✅", + "color": 3066993 + }] + }' \ + ${{ secrets.DISCORD_WEBHOOK_URL }} - name: Send Failure Notification - if: needs.deploy.result == 'failure' - uses: antoinezanardi/discord-webhook-action@v2 - with: - webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} - color: "#e74c3c" # 빨간색 - username: "파이프라인 봇" - description: "❌❌❌ **${{ github.ref_name }}** 릴리즈 배포 중 오류가 발생했습니다. ❌❌❌" - url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + if: contains(needs.*.result, 'failure') + run: | + curl -X POST -H "Content-Type: application/json" \ + -d '{ + "username": "파이프라인 봇", + "embeds": [{ + "title": "릴리즈 배포 실패", + "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", + "description": "❌❌❌ **${{ github.ref_name }}** 릴리즈 배포 중 오류가 발생했습니다. ❌❌❌", + "color": 15158332 + }] + }' \ + ${{ secrets.DISCORD_WEBHOOK_URL }} - name: Send Skipped or Cancelled Notification - if: needs.deploy.result == 'skipped' || needs.deploy.result == 'cancelled' - uses: antoinezanardi/discord-webhook-action@v2 - with: - webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} - color: "#fcf56f" # 노란색 - username: "파이프라인 봇" - description: "🟡🟡🟡 **${{ github.ref_name }}** 릴리즈 배포가 완료되지 않았습니다. (상태: `${{ needs.deploy.result }}`)\n이전 단계(Build)에서 문제가 발생했을 수 있습니다. 🟡🟡🟡" - url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + if: contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') + run: | + curl -X POST -H "Content-Type: application/json" \ + -d '{ + "username": "파이프라인 봇", + "embeds": [{ + "title": "릴리즈 배포 미완료", + "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", + "description": "🟡🟡🟡 **${{ github.ref_name }}** 릴리즈 배포가 완료되지 않았습니다. (상태: 취소 또는 건너뜀)\n이전 단계에서 문제가 발생했을 수 있습니다. 🟡🟡🟡", + "color": 16577903 + }] + }' \ + ${{ secrets.DISCORD_WEBHOOK_URL }} diff --git a/.github/workflows/pr_bot.yml b/.github/workflows/pr_bot.yml index 7def2b1..023f41e 100644 --- a/.github/workflows/pr_bot.yml +++ b/.github/workflows/pr_bot.yml @@ -17,53 +17,71 @@ jobs: # ------------------------- - name: Send PR Created Notification if: github.event_name == 'pull_request' && (github.event.action == 'opened' || github.event.action == 'synchronize') - uses: antoinezanardi/discord-webhook-action@v2 - with: - webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} - title: "Pull Request #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}" - url: ${{ github.event.pull_request.html_url }} - color: "#31a6f5" # 파란색 - username: "GitHub PR 봇" - description: "🔷🔷🔷 **${{ github.actor }}**님이 Pull Request를 생성하거나 업데이트했습니다. 🔷🔷🔷" + run: | + curl -X POST -H "Content-Type: application/json" \ + -d '{ + "username": "GitHub PR 봇", + "embeds": [{ + "title": "Pull Request #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}", + "description": "🔷🔷🔷 **${{ github.actor }}**님이 Pull Request를 생성하거나 업데이트했습니다. �🔷🔷", + "url": "${{ github.event.pull_request.html_url }}", + "color": 3253045 + }] + }' \ + ${{ secrets.DISCORD_WEBHOOK_URL }} # ------------------------- # 댓글 알림 # ------------------------- - name: Send PR Comment Notification if: github.event_name == 'issue_comment' && github.event.issue.pull_request - uses: antoinezanardi/discord-webhook-action@v2 - with: - webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} - title: "New Comment on PR #${{ github.event.issue.number }}" - url: ${{ github.event.comment.html_url }} - color: "#e67e22" # 주황색 - username: "GitHub 댓글 봇" - description: "🟠🟠🟠 **${{ github.actor }}**님의 새 댓글: \n${{ github.event.comment.body }} 🟠🟠🟠" + run: | + COMMENT_BODY=$(echo "${{ github.event.comment.body }}" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g') + curl -X POST -H "Content-Type: application/json" \ + -d "{ + \"username\": \"GitHub 댓글 봇\", + \"embeds\": [{ + \"title\": \"New Comment on PR #${{ github.event.issue.number }}\", + \"description\": \"🟠🟠🟠 **${{ github.actor }}**님의 새 댓글: \\n${COMMENT_BODY} 🟠🟠🟠\", + \"url\": \"${{ github.event.comment.html_url }}\", + \"color\": 15105634 + }] + }" \ + ${{ secrets.DISCORD_WEBHOOK_URL }} # ------------------------- # 머지(Merge) 알림 # ------------------------- - name: Send PR Merged Notification if: github.event.action == 'closed' && github.event.pull_request.merged == true - uses: antoinezanardi/discord-webhook-action@v2 - with: - webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} - title: "Pull Request #${{ github.event.pull_request.number }} Merged!" - url: ${{ github.event.pull_request.html_url }} - color: "#4ed971" # 초록색 - username: "GitHub Merge 봇" - description: "✅✅✅ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 머지했습니다. ✅✅✅" + run: | + curl -X POST -H "Content-Type: application/json" \ + -d '{ + "username": "GitHub Merge 봇", + "embeds": [{ + "title": "Pull Request #${{ github.event.pull_request.number }} Merged!", + "description": "✅✅✅ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 머지했습니다. ✅✅✅", + "url": "${{ github.event.pull_request.html_url }}", + "color": 5167665 + }] + }' \ + ${{ secrets.DISCORD_WEBHOOK_URL }} # ------------------------- # 닫힘(Close) 알림 # ------------------------- - name: Send PR Closed Notification if: github.event.action == 'closed' && github.event.pull_request.merged == false - uses: antoinezanardi/discord-webhook-action@v2 - with: - webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} - title: "Pull Request #${{ github.event.pull_request.number }} Closed" - url: ${{ github.event.pull_request.html_url }} - color: "#e62410" # 빨간색 - username: "GitHub PR 봇" - description: "❌❌❌ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 닫았습니다. ❌❌❌" + run: | + curl -X POST -H "Content-Type: application/json" \ + -d '{ + "username": "GitHub PR 봇", + "embeds": [{ + "title": "Pull Request #${{ github.event.pull_request.number }} Closed", + "description": "❌❌❌ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 닫았습니다. ❌❌❌", + "url": "${{ github.event.pull_request.html_url }}", + "color": 15082698 + }] + }' \ + ${{ secrets.DISCORD_WEBHOOK_URL }} + � \ No newline at end of file From c0e2272728504271af338b114550460e0fa83083 Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Thu, 17 Jul 2025 21:06:04 +0900 Subject: [PATCH 06/15] =?UTF-8?q?chore:=20=ED=88=B4=20=EC=84=A4=EC=A0=95?= =?UTF-8?q?=20=ED=8C=8C=EC=9D=BC=20=EC=9D=B4=EA=B7=B8=EB=85=B8=EC=96=B4=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index e4f2f6a..9a167d1 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,8 @@ temp/ .DS_Store # macOS에서 생성되는 메타파일 Thumbs.db # Windows에서 생성되는 파일 desktop.ini # Windows 바탕화면 설정 파일 +.idea +.vscode # 테스트 커버리지 리포트 htmlcov/ From 96d187de946c8573f368637c343b3ff0511055b0 Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Thu, 17 Jul 2025 23:05:14 +0900 Subject: [PATCH 07/15] =?UTF-8?q?fix:=20=EC=98=A4=ED=83=80=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/pr_bot.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/pr_bot.yml b/.github/workflows/pr_bot.yml index 023f41e..85d80fd 100644 --- a/.github/workflows/pr_bot.yml +++ b/.github/workflows/pr_bot.yml @@ -84,4 +84,3 @@ jobs: }] }' \ ${{ secrets.DISCORD_WEBHOOK_URL }} - � \ No newline at end of file From ea895f7d05e2bc7c090e5c0ca33904d812ec05f5 Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Thu, 17 Jul 2025 23:11:21 +0900 Subject: [PATCH 08/15] =?UTF-8?q?refactor:=20=EC=98=A4=ED=83=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/pr_bot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_bot.yml b/.github/workflows/pr_bot.yml index 85d80fd..d9e6bf2 100644 --- a/.github/workflows/pr_bot.yml +++ b/.github/workflows/pr_bot.yml @@ -23,7 +23,7 @@ jobs: "username": "GitHub PR 봇", "embeds": [{ "title": "Pull Request #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}", - "description": "🔷🔷🔷 **${{ github.actor }}**님이 Pull Request를 생성하거나 업데이트했습니다. �🔷🔷", + "description": "🔷🔷🔷 **${{ github.actor }}**님이 Pull Request를 생성하거나 업데이트했습니다. 🔷🔷🔷", "url": "${{ github.event.pull_request.html_url }}", "color": 3253045 }] From 0b4ecbdfcf06de5f2aedb364f6036be0f8fc3c13 Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Fri, 18 Jul 2025 12:21:26 +0900 Subject: [PATCH 09/15] =?UTF-8?q?style:=20=EB=94=94=EC=8A=A4=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EB=B4=87=20=EC=95=8C=EB=9E=8C=20=ED=98=95=EC=8B=9D?= =?UTF-8?q?=20=EB=B0=8F=20=EC=83=89=EC=83=81=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflows/build_release_and_notify.yml | 16 +++++------ .github/workflows/pr_bot.yml | 28 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build_release_and_notify.yml b/.github/workflows/build_release_and_notify.yml index 0c942d8..92f1beb 100644 --- a/.github/workflows/build_release_and_notify.yml +++ b/.github/workflows/build_release_and_notify.yml @@ -19,8 +19,8 @@ jobs: -d '{ "username": "파이프라인 봇", "embeds": [{ - "description": "🔷🔷🔷 **${{ github.ref_name }}** 릴리즈 배포 파이프라인을 시작합니다. 🔷🔷🔷", - "color": 3253045 + "description": "🔷 **${{ github.ref_name }}** 릴리즈 배포 파이프라인을 시작합니다. 🔷", + "color": 2243312 }] }' \ ${{ secrets.DISCORD_WEBHOOK_URL }} @@ -140,8 +140,8 @@ jobs: "embeds": [{ "title": "🎉 New Release: ${{ github.ref_name }}", "url": "${{ github.event.release.html_url }}", - "description": "✅✅✅ **${{ github.ref_name }}** 릴리즈 배포가 성공적으로 완료되었습니다! ✅✅✅", - "color": 3066993 + "description": "✅ **${{ github.ref_name }}** 릴리즈 배포가 성공적으로 완료되었습니다! ✅", + "color": 5167473 }] }' \ ${{ secrets.DISCORD_WEBHOOK_URL }} @@ -155,8 +155,8 @@ jobs: "embeds": [{ "title": "릴리즈 배포 실패", "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", - "description": "❌❌❌ **${{ github.ref_name }}** 릴리즈 배포 중 오류가 발생했습니다. ❌❌❌", - "color": 15158332 + "description": "❌ **${{ github.ref_name }}** 릴리즈 배포 중 오류가 발생했습니다. ❌", + "color": 15219495 }] }' \ ${{ secrets.DISCORD_WEBHOOK_URL }} @@ -170,8 +170,8 @@ jobs: "embeds": [{ "title": "릴리즈 배포 미완료", "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", - "description": "🟡🟡🟡 **${{ github.ref_name }}** 릴리즈 배포가 완료되지 않았습니다. (상태: 취소 또는 건너뜀)\n이전 단계에서 문제가 발생했을 수 있습니다. 🟡🟡🟡", - "color": 16577903 + "description": "🟡 **${{ github.ref_name }}** 릴리즈 배포가 완료되지 않았습니다. (상태: 취소 또는 건너뜀)\n이전 단계에서 문제가 발생했을 수 있습니다. 🟡", + "color": 16577629 }] }' \ ${{ secrets.DISCORD_WEBHOOK_URL }} diff --git a/.github/workflows/pr_bot.yml b/.github/workflows/pr_bot.yml index d9e6bf2..f09d7ad 100644 --- a/.github/workflows/pr_bot.yml +++ b/.github/workflows/pr_bot.yml @@ -23,9 +23,9 @@ jobs: "username": "GitHub PR 봇", "embeds": [{ "title": "Pull Request #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}", - "description": "🔷🔷🔷 **${{ github.actor }}**님이 Pull Request를 생성하거나 업데이트했습니다. 🔷🔷🔷", + "description": "🔷 **${{ github.actor }}**님이 Pull Request를 생성하거나 업데이트했습니다. 🔷", "url": "${{ github.event.pull_request.html_url }}", - "color": 3253045 + "color": 2243312 }] }' \ ${{ secrets.DISCORD_WEBHOOK_URL }} @@ -38,15 +38,15 @@ jobs: run: | COMMENT_BODY=$(echo "${{ github.event.comment.body }}" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g') curl -X POST -H "Content-Type: application/json" \ - -d "{ - \"username\": \"GitHub 댓글 봇\", - \"embeds\": [{ - \"title\": \"New Comment on PR #${{ github.event.issue.number }}\", - \"description\": \"🟠🟠🟠 **${{ github.actor }}**님의 새 댓글: \\n${COMMENT_BODY} 🟠🟠🟠\", - \"url\": \"${{ github.event.comment.html_url }}\", - \"color\": 15105634 + -d '{ + "username": "GitHub 댓글 봇", + "embeds": [{ + "title": "New Comment on PR #${{ github.event.issue.number }}", + "description": "🟠 **${{ github.actor }}**님의 새 댓글: \n${COMMENT_BODY} 🟠", + "url": "${{ github.event.comment.html_url }}", + "color": 15105570 }] - }" \ + }' \ ${{ secrets.DISCORD_WEBHOOK_URL }} # ------------------------- @@ -60,9 +60,9 @@ jobs: "username": "GitHub Merge 봇", "embeds": [{ "title": "Pull Request #${{ github.event.pull_request.number }} Merged!", - "description": "✅✅✅ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 머지했습니다. ✅✅✅", + "description": "✅ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 머지했습니다. ✅", "url": "${{ github.event.pull_request.html_url }}", - "color": 5167665 + "color": 5167473 }] }' \ ${{ secrets.DISCORD_WEBHOOK_URL }} @@ -78,9 +78,9 @@ jobs: "username": "GitHub PR 봇", "embeds": [{ "title": "Pull Request #${{ github.event.pull_request.number }} Closed", - "description": "❌❌❌ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 닫았습니다. ❌❌❌", + "description": "❌ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 닫았습니다. ❌", "url": "${{ github.event.pull_request.html_url }}", - "color": 15082698 + "color": 15219495 }] }' \ ${{ secrets.DISCORD_WEBHOOK_URL }} From 67d560779126f03f254c47b5ed81e2e6b1170c3a Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Fri, 18 Jul 2025 12:37:09 +0900 Subject: [PATCH 10/15] =?UTF-8?q?style:=20=EB=94=94=EC=8A=A4=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EB=B4=87=20=EC=95=8C=EB=9E=8C=20=ED=98=95=EC=8B=9D?= =?UTF-8?q?=20=EB=B0=8F=20=EC=83=89=EC=83=81=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build_release_and_notify.yml | 8 ++++---- .github/workflows/pr_bot.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build_release_and_notify.yml b/.github/workflows/build_release_and_notify.yml index 92f1beb..29f4a9d 100644 --- a/.github/workflows/build_release_and_notify.yml +++ b/.github/workflows/build_release_and_notify.yml @@ -19,7 +19,7 @@ jobs: -d '{ "username": "파이프라인 봇", "embeds": [{ - "description": "🔷 **${{ github.ref_name }}** 릴리즈 배포 파이프라인을 시작합니다. 🔷", + "description": "**${{ github.ref_name }}** 릴리즈 배포 파이프라인을 시작합니다.", "color": 2243312 }] }' \ @@ -140,7 +140,7 @@ jobs: "embeds": [{ "title": "🎉 New Release: ${{ github.ref_name }}", "url": "${{ github.event.release.html_url }}", - "description": "✅ **${{ github.ref_name }}** 릴리즈 배포가 성공적으로 완료되었습니다! ✅", + "description": "**${{ github.ref_name }}** 릴리즈 배포가 성공적으로 완료되었습니다!", "color": 5167473 }] }' \ @@ -155,7 +155,7 @@ jobs: "embeds": [{ "title": "릴리즈 배포 실패", "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", - "description": "❌ **${{ github.ref_name }}** 릴리즈 배포 중 오류가 발생했습니다. ❌", + "description": "**${{ github.ref_name }}** 릴리즈 배포 중 오류가 발생했습니다.", "color": 15219495 }] }' \ @@ -170,7 +170,7 @@ jobs: "embeds": [{ "title": "릴리즈 배포 미완료", "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", - "description": "🟡 **${{ github.ref_name }}** 릴리즈 배포가 완료되지 않았습니다. (상태: 취소 또는 건너뜀)\n이전 단계에서 문제가 발생했을 수 있습니다. 🟡", + "description": "**${{ github.ref_name }}** 릴리즈 배포가 완료되지 않았습니다. (상태: 취소 또는 건너뜀)\n이전 단계에서 문제가 발생했을 수 있습니다.", "color": 16577629 }] }' \ diff --git a/.github/workflows/pr_bot.yml b/.github/workflows/pr_bot.yml index f09d7ad..d260921 100644 --- a/.github/workflows/pr_bot.yml +++ b/.github/workflows/pr_bot.yml @@ -23,7 +23,7 @@ jobs: "username": "GitHub PR 봇", "embeds": [{ "title": "Pull Request #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}", - "description": "🔷 **${{ github.actor }}**님이 Pull Request를 생성하거나 업데이트했습니다. 🔷", + "description": "**${{ github.actor }}**님이 Pull Request를 생성하거나 업데이트했습니다.", "url": "${{ github.event.pull_request.html_url }}", "color": 2243312 }] @@ -42,7 +42,7 @@ jobs: "username": "GitHub 댓글 봇", "embeds": [{ "title": "New Comment on PR #${{ github.event.issue.number }}", - "description": "🟠 **${{ github.actor }}**님의 새 댓글: \n${COMMENT_BODY} 🟠", + "description": "**${{ github.actor }}**님의 새 댓글: \\n${COMMENT_BODY}", "url": "${{ github.event.comment.html_url }}", "color": 15105570 }] @@ -60,7 +60,7 @@ jobs: "username": "GitHub Merge 봇", "embeds": [{ "title": "Pull Request #${{ github.event.pull_request.number }} Merged!", - "description": "✅ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 머지했습니다. ✅", + "description": "**${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 머지했습니다.", "url": "${{ github.event.pull_request.html_url }}", "color": 5167473 }] @@ -78,7 +78,7 @@ jobs: "username": "GitHub PR 봇", "embeds": [{ "title": "Pull Request #${{ github.event.pull_request.number }} Closed", - "description": "❌ **${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 닫았습니다. ❌", + "description": "**${{ github.actor }}**님이 **${{ github.event.pull_request.title }}** PR을 닫았습니다.", "url": "${{ github.event.pull_request.html_url }}", "color": 15219495 }] From fa9901ab9c77668d85c56762e8b73dc00a074c8c Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Fri, 18 Jul 2025 12:40:48 +0900 Subject: [PATCH 11/15] =?UTF-8?q?fix:=20=EB=8C=93=EA=B8=80=20=EA=B0=80?= =?UTF-8?q?=EC=A0=B8=EC=98=A4=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EA=B1=B0=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/pr_bot.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pr_bot.yml b/.github/workflows/pr_bot.yml index d260921..3d955c1 100644 --- a/.github/workflows/pr_bot.yml +++ b/.github/workflows/pr_bot.yml @@ -38,15 +38,15 @@ jobs: run: | COMMENT_BODY=$(echo "${{ github.event.comment.body }}" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g') curl -X POST -H "Content-Type: application/json" \ - -d '{ - "username": "GitHub 댓글 봇", - "embeds": [{ - "title": "New Comment on PR #${{ github.event.issue.number }}", - "description": "**${{ github.actor }}**님의 새 댓글: \\n${COMMENT_BODY}", - "url": "${{ github.event.comment.html_url }}", - "color": 15105570 + -d "{ + \"username\": \"GitHub 댓글 봇\", + \"embeds\": [{ + \"title\": \"New Comment on PR #${{ github.event.issue.number }}\", + \"description\": \"**${{ github.actor }}**님의 새 댓글: \\n${COMMENT_BODY}\", + \"url\": \"${{ github.event.comment.html_url }}\", + \"color\": 15105634 }] - }' \ + }" \ ${{ secrets.DISCORD_WEBHOOK_URL }} # ------------------------- From 55ea92a60f7afca0ffe54a666d0bab32cdb46c2a Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Fri, 18 Jul 2025 12:46:04 +0900 Subject: [PATCH 12/15] =?UTF-8?q?style:=20=EB=8C=93=EA=B8=80=20=EC=83=89?= =?UTF-8?q?=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/pr_bot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_bot.yml b/.github/workflows/pr_bot.yml index 3d955c1..22daee4 100644 --- a/.github/workflows/pr_bot.yml +++ b/.github/workflows/pr_bot.yml @@ -44,7 +44,7 @@ jobs: \"title\": \"New Comment on PR #${{ github.event.issue.number }}\", \"description\": \"**${{ github.actor }}**님의 새 댓글: \\n${COMMENT_BODY}\", \"url\": \"${{ github.event.comment.html_url }}\", - \"color\": 15105634 + \"color\": 15105570 }] }" \ ${{ secrets.DISCORD_WEBHOOK_URL }} From e8f03262491151ea292327f503139084b5cb4bff Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Fri, 18 Jul 2025 12:26:07 +0900 Subject: [PATCH 13/15] =?UTF-8?q?docs:=20Askql=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 15e0a0b..66ea4cd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# AskQL API +# QGenie API -이 프로젝트는 AskQL 서비스의 백엔드 API를 제공합니다. FastAPI를 기반으로 구축되었으며, 효율적이고 확장 가능한 API를 목표로 합니다. +이 프로젝트는 QGenie 서비스의 백엔드 API를 제공합니다. FastAPI를 기반으로 구축되었으며, 효율적이고 확장 가능한 API를 목표로 합니다. --- @@ -46,10 +46,10 @@ **Poetry `init` 시 질문에 대한 답변:** - - `Package name`: `askql-api` + - `Package name`: `QGenie-api` - `Version`: `0.1.0` - `Description`: `""` - - `Author`: `AskQL Team` + - `Author`: `Queryus` - `License`: `MIT` - `Compatible Python versions`: `>=3.11` - `Would you like to define your main dependencies interactively?`: `no` From 0f659ebee20958f392d2d1f5b892536e52e56b7e Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Fri, 18 Jul 2025 12:38:42 +0900 Subject: [PATCH 14/15] =?UTF-8?q?style:=20=EB=94=94=EC=8A=A4=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=A4=84=EB=B0=94=EA=BF=88=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 66ea4cd..2f093e9 100644 --- a/README.md +++ b/README.md @@ -161,3 +161,4 @@ ```bash curl http://localhost:8000/openapi.json ``` + From 1e595ad64c7f2afe8dd1d4f1a608ee66d0c5c5c5 Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Fri, 18 Jul 2025 20:24:43 +0900 Subject: [PATCH 15/15] =?UTF-8?q?style:=20=EB=85=B8=EC=B6=9C=20=EB=A9=98?= =?UTF-8?q?=ED=8A=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflows/build_release_and_notify.yml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build_release_and_notify.yml b/.github/workflows/build_release_and_notify.yml index 29f4a9d..558fea7 100644 --- a/.github/workflows/build_release_and_notify.yml +++ b/.github/workflows/build_release_and_notify.yml @@ -17,9 +17,9 @@ jobs: run: | curl -X POST -H "Content-Type: application/json" \ -d '{ - "username": "파이프라인 봇", + "username": "API 배포 봇", "embeds": [{ - "description": "**${{ github.ref_name }}** 릴리즈 배포 파이프라인을 시작합니다.", + "description": "**${{ github.ref_name }}** API 배포를 시작합니다.", "color": 2243312 }] }' \ @@ -136,11 +136,11 @@ jobs: run: | curl -X POST -H "Content-Type: application/json" \ -d '{ - "username": "파이프라인 봇", + "username": "API 배포 봇", "embeds": [{ - "title": "🎉 New Release: ${{ github.ref_name }}", + "title": "New API Release: ${{ github.ref_name }}", "url": "${{ github.event.release.html_url }}", - "description": "**${{ github.ref_name }}** 릴리즈 배포가 성공적으로 완료되었습니다!", + "description": "**${{ github.ref_name }}** API 배포가 성공적으로 완료되었습니다!", "color": 5167473 }] }' \ @@ -151,11 +151,11 @@ jobs: run: | curl -X POST -H "Content-Type: application/json" \ -d '{ - "username": "파이프라인 봇", + "username": "API 배포 봇", "embeds": [{ - "title": "릴리즈 배포 실패", + "title": "API 배포 실패", "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", - "description": "**${{ github.ref_name }}** 릴리즈 배포 중 오류가 발생했습니다.", + "description": "**${{ github.ref_name }}** API 배포 중 오류가 발생했습니다.", "color": 15219495 }] }' \ @@ -166,11 +166,11 @@ jobs: run: | curl -X POST -H "Content-Type: application/json" \ -d '{ - "username": "파이프라인 봇", + "username": "API 배포 봇", "embeds": [{ - "title": "릴리즈 배포 미완료", + "title": "API 배포 미완료", "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}", - "description": "**${{ github.ref_name }}** 릴리즈 배포가 완료되지 않았습니다. (상태: 취소 또는 건너뜀)\n이전 단계에서 문제가 발생했을 수 있습니다.", + "description": "**${{ github.ref_name }}** API 배포가 완료되지 않았습니다. (상태: 취소 또는 건너뜀)\n이전 단계에서 문제가 발생했을 수 있습니다.", "color": 16577629 }] }' \