@@ -51,25 +51,26 @@ wrangler.jsonc Worker μ€μ κ³Ό κ³΅κ° κ°(vars)
5151| μ΄λ²€νΈ | νλ μΌ |
5252| ---------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
5353| ` projects_v2_item ` | Week μ€μ μ΄ λ°λλ©΄ κ²½κ³ λκΈμ λ¬κ±°λ μ§μ΄λ€ |
54- | ` pull_request ` (` opened ` , ` reopened ` , ` synchronize ` ) | Week κ²μ¬, AI νμ΄ λΆμ check run(` tagPatterns ` ), νμ΅ νν© λκΈ( ` postLearningStatus ` ) |
54+ | ` pull_request ` (` opened ` , ` reopened ` , ` synchronize ` ) | Week κ²μ¬, AI 리뷰 check run(` aiReview ` ) |
5555| ` issue_comment ` , ` pull_request_review_comment ` (` created ` ) | ` @dalestudy ` λ©μ
μ μλ΅νλ€. ` approve ` Β·` μΉμΈ ` μ΄λ©΄ PR μ μΉμΈνκ³ , κ·Έ λ°μλ AI 리뷰λ₯Ό λ¨λ€ |
5656
57- Week κ²μ¬λ μ λͺ©μ ` Week μ«μ ` λλ ` Onboarding ` μ΄ ν¬ν¨λ νμ΄ PRμ λμμΌλ‘ νκ³ , κ²½κ³ λκΈμ λ΄μ΄ λ¨ κ²λ§ μ§μ΄λ€. AI νμ΄ λΆμκ³Ό νμ΅ νν© λκΈμ μ λͺ©κ³Ό μκ΄μμ΄ λλ¦¬κ³ (` [user] Onboarding ` κ°μ PR λ ν¬ν¨), νμ΄ νμΌμ΄ μμΌλ©΄ λ νΈλ€λ¬κ° AI λ₯Ό λΆλ₯΄μ§ μκ³ κ±΄λλ΄λ€.
57+ Week κ²μ¬λ μ λͺ©μ ` Week μ«μ ` λλ ` Onboarding ` μ΄ ν¬ν¨λ νμ΄ PRμ λμμΌλ‘ νκ³ , κ²½κ³ λκΈμ λ΄μ΄ λ¨ κ²λ§ μ§μ΄λ€. AI 리뷰λ μ λͺ©κ³Ό μκ΄μμ΄ λλ¦¬κ³ (` [user] Onboarding ` κ°μ PR λ ν¬ν¨), νμ΄ νμΌμ΄ μμΌλ©΄ AI λ₯Ό λΆλ₯΄μ§ μκ³ κ±΄λλ΄λ€.
5858
59- ### AI μμ
μ λ³λ invocation μΌλ‘ λλκΈ°
59+ AI 리뷰λ νμ΄ νμΌλ³ μκ³ λ¦¬μ¦ ν¨ν΄, μλν μ κ·Όλ² μΌμΉ μ¬λΆ( ` problem-categories.json ` κΈ°μ€), μκ°/κ³΅κ° λ³΅μ‘λμ μμ±μμ μ΄λ² κΈ°μ νμ΅ νν©μ PR head 컀λ°μ check run νλ( ` AI 리뷰 ` )μ λ΄λλ€. λν νμλ κ·Έ check run μΌλ‘ κ°λ λ§ν¬ λκΈ νλλ§ μ μ§νλ€.
6060
61- Worker ν λ²μ μ€ν(invocation)μ subrequest λ₯Ό 50 κ°κΉμ§ μΈ μ μλ€. νμΌμ΄ λ§μ PR μμ λμΉμ§ μλλ‘, μΉν
νΈλ€λ¬λ λ AI μμ
μ μκΈ° μμ μκ² λ€μ μμ²ν΄ λ°λ‘ μ€ννλ€.
61+ ### AI 리뷰λ₯Ό λ³λ invocation μΌλ‘ λλκΈ°
62+
63+ Worker ν λ²μ μ€ν(invocation)μ subrequest λ₯Ό 50 κ°κΉμ§ μΈ μ μλ€. νμΌμ΄ λ§μ PR μμ λμΉμ§ μλλ‘, μΉν
νΈλ€λ¬λ AI 리뷰λ₯Ό μκΈ° μμ μκ² λ€μ μμ²ν΄ λ°λ‘ μ€ννλ€.
6264
6365```
6466GitHub webhook
6567 βΌ
6668[#1] webhook νΈλ€λ¬ β 50 μμ°
67- ββ ctx.waitUntil(fetch("/internal/tag-patterns")) β [#2] tagPatterns β λ
립 50 μμ°
68- ββ ctx.waitUntil(fetch("/internal/learning-status")) β [#3] postLearningStatus β λ
립 50 μμ°
69+ ββ ctx.waitUntil(fetch("/internal/ai-review")) β [#2] aiReview β λ
립 50 μμ°
6970```
7071
71- ` INTERNAL_SECRET ` κ³Ό ` WORKER_URL ` μ΄ λ λ€ μμ΄μΌ μΌμ§λ€. νλλΌλ μμΌλ©΄ κ°μ invocation μμ μ°¨λ‘λ‘ μ€νλλ€.
72- ` tests/subrequest-budget.test.js ` κ° fetch νμ(` tagPatterns ` νμΌ 15 κ°μ 37, ` postLearningStatus ` νμΌ 5 κ°μ 31 )λ₯Ό νκ· ν
μ€νΈλ‘ κ³ μ νλ€.
72+ ` INTERNAL_SECRET ` κ³Ό ` WORKER_URL ` μ΄ λ λ€ μμ΄μΌ μΌμ§λ€. νλλΌλ μμΌλ©΄ κ°μ invocation μμ μ€νλλ€.
73+ ` tests/subrequest-budget.test.js ` κ° fetch νμ(` aiReview ` νμΌ 15 κ°μ 40, AI νΈμΆ ν¬ν¨ )λ₯Ό νκ· ν
μ€νΈλ‘ κ³ μ νλ€.
7374
7475## λ°°ν¬μ μν¬λ¦Ώ
7576
@@ -111,7 +112,6 @@ vi.mock("../utils/github.js", () => ({
111112
112113- ** Workers λ°νμμ΄λ€.** Node.js λͺ¨λκ³Ό Octokit κ°μ npm ν¨ν€μ§λ λλΆλΆ λμνμ§ μλλ€. ` fetch ` μ Web Crypto API λ‘ μ§μ ꡬννλ€. Private Key λ PKCS8, PKCS1 λͺ¨λ λ°λλ€ (` utils/github.js ` ).
113114- ** GraphQL 쿼리μ κ°μ λ¬Έμμ΄λ‘ μ§μ λΌμ λ£λλ€.** GraphQL λ³μ λ¬Έλ²μ μ°μ§ μμΌλ―λ‘ μ
λ ₯κ° κ²μ¦μ λΉ λ¨λ¦¬μ§ μλλ€.
114- - ** λκΈ μ¨κΉ λ§μ»€(` <!-- xxx-data: ... --> ` )μ μ§λ ¬ν νμμ λ°κΏ λλ** μ κ·μ, λ¬Έμ μ£Όμ, ν
μ€νΈλ₯Ό κ°μ PR μμ ν¨κ» κ³ μΉλ€. νμ±μ΄ λΉ κ°μΌλ‘ fallback νλ©΄ νκ·κ° μ‘°μ©ν 묻νλ€.
115115- μλ΅μλ CORS ν€λ(` Access-Control-Allow-Origin: * ` )κ° λΆκ³ , μλ¬λ 500 μΌλ‘ λλ €μ€λ€. μμΈμ ` wrangler tail ` λ‘ λ³Έλ€.
116116- 401 μ΄ λλ©΄ ` APP_ID ` μ ` PRIVATE_KEY ` κ° κ°μ App μ κ²μΈμ§ νμΈνλ€.
117117
@@ -120,6 +120,5 @@ vi.mock("../utils/github.js", () => ({
120120- Node.js λ΄μ₯ λͺ¨λμ΄λ Octokit κ°μ Workers λ°νμμμ λμνμ§ μλ ν¨ν€μ§λ₯Ό μ°λ©΄ μ§μ νλ€.
121121- GraphQL 쿼리μ λ¬Έμμ΄λ‘ λΌμ λ£λ κ°μ λ°λμ κ²μ¦λμ΄μΌ νλ€. μ¬μ©μ μ
λ ₯(PR μ λͺ©, λκΈ λ±)μ΄ κ²μ¦ μμ΄ λ€μ΄κ°λ©΄ μ¬κ°ν λ¬Έμ λ‘ μ§μ νλ€.
122122- μ μλν¬μΈνΈλ κΈ°μ‘΄μ²λΌ ` repo_owner ` κ° ` DaleStudy ` κ° μλλ©΄ 403μ λλ €μΌ νκ³ , ` /internal/* ` λ ` X-Internal-Secret ` μ κ²μ¬ν΄μΌ νλ€.
123- - ` tagPatterns ` λ ` postLearningStatus ` μ fetchκ° λμ΄λλ©΄ ` tests/subrequest-budget.test.js ` μ κ³ μ κ°λ ν¨κ» κ°±μ λμ΄μΌ νλ€.
124- - λκΈ μ¨κΉ λ§μ»€(` <!-- xxx-data: ... --> ` ) νμμ λ°κΎΈλ©΄ νμ± μ κ·μκ³Ό ν
μ€νΈλ κ°μ PRμμ λ°λμ΄μΌ νλ€.
123+ - ` aiReview ` μ fetchκ° λμ΄λλ©΄ ` tests/subrequest-budget.test.js ` μ κ³ μ κ°λ ν¨κ» κ°±μ λμ΄μΌ νλ€.
125124- μ μν¬λ¦Ώμ ` wrangler secret put ` μ μ λ‘ μΆκ°νλ©΄ μ§μ νλ€. μν¬λ¦Ώμ GitHub secretμΌλ‘ λκ³ λ°°ν¬ μν¬νλ‘κ° λ£λλ€.
0 commit comments