| name | release-note |
| description | Optional workflow skill for Jira/Confluence release operations. Use only when Jira fixVersion or release-report context is available and the user wants user-facing release notes, optionally with safe Confluence page updates. |
| metadata | {"source":"born-here","summary":"Optional Jira/Confluence ๋ฆด๋ฆฌ์ฆ ๋
ธํธ workflow"} |
๋ฆด๋ฆฌ์ฆ ๋
ธํธ ์์ฑ
์คํฌ ์์ ์ ์คํ:
"$HOME/.local/bin/harness-event" emit skill-start --skill release-note --runtime "${HARNESS_RUNTIME:-claude}"
์ฌ์ฉ ๋ก๊ทธ๋ ${XDG_STATE_HOME:-$HOME/.local/state}/oh-my-ai/harness-usage.log์ ์ ์ฅํ๋ค.
๋๋ Jira ๋ฆด๋ฆฌ์ฆ์ ํ ๋ด๋น์๊ฐ ์ฒ๋ฆฌํ ์ด์๋ฅผ ์ผ๋ฐ ์ฌ์ฉ์๋ ์ดํดํ ์ ์๋ ๋ฆด๋ฆฌ์ฆ ๋
ธํธ๋ก ์ ๋ฆฌํ๋ค.
์
๋ ฅ
์ฌ์ฉ์ ์์ฒญ์์ ๋ค์์ ํ์ฑํ๋ค.
- fixVersion ID: ์ซ์(์:
17106) ๋๋ release-report URL(.../versions/17106/...)์์ ์ถ์ถ.
- assignee accountId: URL์
assignee= ํ๋ผ๋ฏธํฐ(์: assignee=712020%3A63acd... โ URL ๋์ฝ๋ํด์ 712020:63acd...) ๋๋ ๋ณ๋ ์ธ์.
- ๋ ์ค ํ๋๋ผ๋ ๋น ์ก์ผ๋ฉด ์ฌ์ฉ์์๊ฒ ๋ฌผ์ด๋ณธ๋ค.
ํ๋ก ํธ์๋ ๋ถ๋ฆฌ ์์น:
- ์ฌ์ฉ์๊ฐ ๋์ ธ์ฃผ๋ URL์ assignee ํํฐ๋ ์ด๋ฏธ ๋ฐฑ์๋ ๋ด๋น์๋ง ์ถ๋ฆฐ ๊ฒ์ด๋ค. ํ๋ก ํธ์๋ ํ์ ๋ณ๋๋ก ๋ฆด๋ฆฌ์ฆ ๋
ธํธ๋ฅผ ๊ด๋ฆฌํ๋ค.
- ๋ฐ๋ผ์ assignee ํ๋ผ๋ฏธํฐ๋ฅผ ์์๋ก ํ์ฅํ๊ฑฐ๋ "ํ๋ก ํธ ์ด์๋ ํฌํจํด์ผ ํ๋?" ๊ณ ๋ฏผํ์ง ์๋๋ค. ๋ฐ์ URL ๊ทธ๋๋ก ์ฌ์ฉํ๋ค.
๋๊ตฌ ์ค๋น
์ฌ์ฉ ๊ฐ๋ฅํ Jira/Confluence MCP ๋๋ app connector๋ฅผ ์ฌ์ฉํ๋ค. ๋ฐํ์๋ง๋ค ๋๊ตฌ ์ด๋ฆ์ด ๋ค๋ฅด๋ฏ๋ก ํน์ tool ID์ ์์กดํ์ง ์๋๋ค.
- Jira ์กฐํ ๋๊ตฌ๊ฐ ์ฐ๊ฒฐ๋์ง ์์์ผ๋ฉด ์์ ๋ฐ์ดํฐ๋ก ๋์ฒดํ์ง ๋ง๊ณ ์ฐ๊ฒฐ์ด ํ์ํ๋ค๊ณ ์๋ฆฐ๋ค.
- Confluence ์์ ๋๊ตฌ๋ ์ฌ์ฉ์๊ฐ ํ์ด์ง ๋ฐ์์ ๋ช
์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋ค.
- ์กฐํ์ ์์ ์ ํ์ํ ๊ถํ์ด ์์ผ๋ฉด ์คํจ ์์ธ์ ๊ทธ๋๋ก ์๋ฆฌ๊ณ ์ฝ๊ธฐ ๊ฒฐ๊ณผ๋ง ์ ๊ณตํ๋ค.
์์
์์ ๊ฐ์
๋ฆด๋ฆฌ์ฆ ๋
ธํธ ์์ฑ์ 2๋จ๊ณ๋ก ๋๋๋ค. ์์ง ๋ง ๊ฒ.
- 1๋จ๊ณ (์์งยท์ ๋ฆฌ): Jira ์กฐํ โ ๋ก์ปฌ ํ์ผ ์ ์ฅ โ ํํฐ๋ง โ parent ๋กค์
โ ํ๋ก ์ ๋ฆฌ
- 2๋จ๊ณ (์ ์ ์ธ์ด ์ฌ์์ฑ): 1๋จ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ ์ ๊ฐ ์ดํดํ ์ ์๋ ๋ง๋ก ๋ค์ ์ด๋ค. ์ด์ ์ ๋ชฉ์ ๊ทธ๋๋ก ์ฎ๊ธฐ์ง ์๋๋ค. ๊ฐ๋ฐ์ ์ฉ์ด(scheme, fallback, gRPC, UUID, CAGG ๋ฑ) ์ ๋ฉด ์ ๊ฑฐ. ๋ฒ๊ทธ๋ PR๊น์ง ์ด์ด์ "์ ์ ๊ฐ ์ค์ ๋ก ๊ฒช์ ํ์"์ด ๋ญ์ง ํ์ธ ํ ์์ฑ.
1. Jira ์กฐํ ๋ฐ ๋ก์ปฌ ์บ์
cloudId ๋ nurilab-jira.atlassian.net ๋ฅผ ์ฌ์ฉํ๋ค.
JQL: fixVersion = <ID> AND assignee in ("<accountId>", ...) ORDER BY issuetype, created
์กฐํ ํ ์ฆ์ ๋ก์ปฌ ํ์ผ๋ก ์ ์ฅ โ ํ์:
- ์กฐํ ๊ฒฐ๊ณผ๋ฅผ
docs/releases/<versionId>-issues.tsv์ ์ ์ฅํ๋ค. ์ธ์
์ด ๋๊ฒจ๋ ์ฌ์กฐํ ์์ด ํ์ผ์์ ์์
์ ์ด์ด๊ฐ ์ ์๋ค.
- ์ ์ฅ ํ์:
key\ttype\tparent\tsummary (ํค๋ ํฌํจ)
jq -r '["key","type","parent","summary"], (.issues.nodes[] | [.key, .fields.issuetype.name, (.fields.parent.key // "-"), .fields.summary]) | @tsv' <๊ฒฐ๊ณผํ์ผ> > docs/releases/<versionId>-issues.tsv
- ์ดํ ๋ชจ๋ ์์
์ ์ด tsv ํ์ผ์ ๊ธฐ์ค์ผ๋ก ํ๋ค. Jira๋ฅผ ๋ค์ ์กฐํํ์ง ์๋๋ค.
ํ ํฐ ์ ์ฝ โ ํ์:
- Jira ๋๊ตฌ๊ฐ ํ๋ ์ ํ์ ์ง์ํ๋ฉด
summary, issuetype, parent ๋ฅผ ์์ฒญํ๋ค. parent ๋ ์์ ์ด์ ๋กค์
ํ๋จ์ ํ์๋ค.
- ํ์ด์ง ํฌ๊ธฐ๋ ์ต๋ 100์ผ๋ก ์์ฒญํ๊ณ , ์๋ต ํ์์ ์ ํํ ์ ์์ผ๋ฉด ๊ตฌ์กฐํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์ ํ๋ค.
- ๊ฒฐ๊ณผ๊ฐ ํ์ผ๋ก ์ ์ฅ๋๋ฉด ํ์ผ ์ ์ฒด๋ฅผ ๋ณธ๋ฌธ์ผ๋ก ์ฝ์ง ๋ง๊ณ
jq๋ก ํ์ํ ํ๋๋ง ์ถ์ถํ๋ค.
- ๋ค์ ํ์ด์ง๊ฐ ์์ผ๋ฉด ๋๊ตฌ๊ฐ ์ ๊ณตํ๋ cursor/page token์ผ๋ก ๋ชจ๋ ๊ฐ์ ธ์จ๋ค. ์ฌ๋ฌ ๋ด๋น์๋ฉด assignee ์กฐ๊ฑด์ ๋นผ๊ณ ํ ๋ฒ์ ๋ฐ์ ๊ทธ๋ฃนํํ๋ ํธ์ด ํธ์ถ ์์ ํ ํฐ์ ์ค์ธ๋ค.
2. ์ ์ ์ฒด๊ฐ ํํฐ๋ง (์๋ ์ ์ธ)
๋ฆด๋ฆฌ์ฆ ๋
ธํธ๋ ์ ์ ๊ฐ ์ง์ ์ฒด๊ฐํ๋ ๋ณํ๋ง ๋ด๋๋ค. ์๋๋ ์๋ ์ ์ธํ๋ค:
- CLI ๋๊ตฌ (
*cli, *-scannercli, domaincli ๋ฑ ์ฌ๋ด ๊ฐ๋ฐ์์ฉ)
- devcontainer / docker ๋น๋ / Makefile / ๋น๋ํ๊ฒฝ / ์์กด์ฑ ์ ํฉ(
go work sync) ์์
- ์ค์ ยทํ
์คํธ ๊ฒฉ๋ฆฌยทmockยทviper ์ค์ผ ๋ฑ ํ
์คํธ/CI ์์
- pkg ๋ฆฌํฉํฐ, ๋ด๋ถ ํจํค์ง ์ถ์ถ/์ด์ฃผ, DTO ๋ด๋ถ ๋ฐฐ์
- request collapsing / fan-out / stateless cutover ์ ๋ด๋ถ ๋ฐฐ์ (์ ์ ๋์ ๋ณํ ์๋ plumbing)
- ๋ด๋ถ ๋ฐ์ดํฐ ์ ์ฅ ์ ํฉ์ฑ(ํ๋ ๋๋ฝ ์ ์ฅ ๋ฑ)์ผ๋ก ๊ฒฐ๊ณผ ํ๋ฉดยท์๋ต์ด ๋ฐ๋์ง ์๋ ๊ฒ
- ๋ฌธ์/CLAUDE.md/์ค๊ณ๋ฌธ์ ์์ฑ
ํฌํจํ๋ ๊ฒ:
- ์ค์บ ๊ฒฐ๊ณผยท์๋ต์ ์๋ก ๋
ธ์ถ๋๋ ์ ๋ณด(์: AI ์ค๋ฏธ์ฑ ํ์ /์นดํ
๊ณ ๋ฆฌ)
- ์ค์บ ๋์ ๋ณํ(์: ์งง์ ๋ฌธ์ AI ์คํต)
- ์ ์ ๊ฐ ์ค์ ๋ก ๋ถ๋ชํ ๋ฒ๊ทธ(์กฐํ ์ค๋ฅ, ํ๋ฉด ๋ฉ์ถค/ํ์์์, ์์ง ๋ค์ด/OOM, ํต๊ณ ๋น์ ์ ํ์ ๋ฑ)
- ์ฝ์/๋ฆฌํฌํธ/ํต๊ณ์ ์ ๊ธฐ๋ฅยท๊ฐ์
- ์ ์กฐํ/๊ฒ์ฌ API ๊ธฐ๋ฅ
์ ๋งคํ๋ฉด ์ ์ธํ์ง ๋ง๊ณ ์ฌ์ฉ์์๊ฒ "์ด๊ฑด ์ ์ ์ฒด๊ฐ ์ฝํ๋ฐ ๋ฃ์๊น?" ๋ก ๋ฌผ์ด๋ณธ๋ค.
2.5 ์ผ๊ฐ ๋ ๋ฒจ โ ์ํฝ/์คํ ๋ฆฌ ์์ฃผ, ์๋ธํ์คํฌ๋ ๋กค์
(๊ฐ์ฅ ์ค์)
๋ฆด๋ฆฌ์ฆ ๋
ธํธ๋ ์ํฝ/์คํ ๋ฆฌ(= ์ ์ ์
์ฅ์์์ ๋ณํ ๋จ์) ๋ ๋ฒจ๋ก ์ ๋๋ค. ๊ฐ๋ฐ์ ์ก์
๋จ์์ ์ง์ํ ์๋ธํ์คํฌ/๊ตฌํ ๋ํ
์ผ์ 1:1 ๋ก ์ค์ธ์ฐ์ง ์๋๋ค. (์ด๊ฒ ๊ฐ์ฅ ํํ ์ค์๋ค โ ์ค์ ๋ก ์ง์ํ ๊ฒ ์๋ฉ ๋ค์ด๊ฐ๊ธฐ ์ฝ๋ค.)
์ผ๊ฐ ๊ณ์ธต(์ด ํ ๊ธฐ์ค):
- ์ํฝ = ํฐ ์ฃผ์ (์: "sms-scanner ๋
๋ฆฝ ์๋น์ค ๋ถ๋ฆฌ", "Griffin AI ์๋น์ค ๊ฐ๋ฐ")
- ํ์ํ์คํฌ(์์
/์คํ ๋ฆฌ/๋ฒ๊ทธ/๊ฐ์ /์๊ธฐ๋ฅ) = ์ ์ ์
์ฅ์์์ ๋ณํ ๋จ์ โ ๋ฆด๋ฆฌ์ฆ ๋
ธํธ๋ ์ด ๋ ๋ฒจ
- ์๋ธํ์คํฌ(ํ์ ์์
) = ์ปค๋ฐ/๋ธ๋์น ๋จ์ ๊ฐ๋ฐ ์ก์
โ ๋
ธํธ์ ์ง์ ์ฐ์ง ์์
ํ๋จ ์ ์ฐจ:
0. ๊ฐ์ ๋ถ๋ชจ๋ฅผ ๊ณต์ ํ๋ ์ด์๋ ๋ถ๋ชจ ๋ ๋ฒจ๋ก ๋กค์
(๊ฐ์ฅ ๋จผ์ ):
- tsv์์
parent ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํํ๋ค.
- ๋ถ๋ชจ key๊ฐ ๊ฒฐ๊ณผ์
์์ ์์ผ๋ฉด โ ์์ ์ ๊ฑฐ, ๋ถ๋ชจ๊ฐ ๋ํ.
- ๋ถ๋ชจ key๊ฐ ๊ฒฐ๊ณผ์
๋ฐ์ ์๊ณ ์์์ด 2๊ฐ ์ด์์ด๋ฉด โ
getJiraIssue๋ก ๋ถ๋ชจ๋ฅผ ์ง์ ์กฐํํด summary๋ฅผ ํ์ธํ๊ณ , ์์ ์ ์ฒด๋ฅผ ๋ถ๋ชจ 1์ค๋ก ๋ฌถ์ด ํํํ๋ค. ์์์ ์ค์ค์ด ๋์ดํ์ง ์๋๋ค.
- ๋ถ๋ชจ๊ฐ ์๊ฑฐ๋(
-) ์์์ด ํผ์์ธ๋ฐ ๋ถ๋ชจ๊ฐ ๊ฒฐ๊ณผ์
๋ฐ์ด๋ฉด โ ํด๋น ์ด์ ๊ทธ๋๋ก ์ ์ง.
- (๋ถ๋ชจ์ fixVersion ๋๋ฝ์ ์ฌ๋ ์ค์๋ก ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก JQL ํํฐ๊ฐ ์๋ ์ด ๋ฐฉ์์ผ๋ก ํ๋จํ๋ค.)
- ๊ฐ ์ด์๊ฐ ์ด๋ค ์ํฝ/์คํ ๋ฆฌ์ ์ํ๋์ง ๋จผ์ ๋ฌถ๋๋ค. (์ ๋ชฉ์
[stateless-N], Phase N, [cutover-N], ๊ฐ์ epic prefix, ๊ฐ์ ํจํค์ง/์๋น์ค ๋ฑ์ด ๋จ์.)
- ํ ์ํฝ ์๋ ์๊ฒ ์ชผ๊ฐ์ง Phase/๋ฒ๊ทธ/๊ฐ์ ์ด ์ฌ๋ฌ ๊ฐ๋ฉด, ๊ฐ๋ณ๋ก ์ฐ์ง ๋ง๊ณ ๊ทธ ์ํฝ/์คํ ๋ฆฌ์ ์ ์ ์ฒด๊ฐ ๊ฒฐ๊ณผ๋ฌผ 1์ค(๋๋ ์์)๋ก ํฉ์น๋ค.
- ๊ทธ ์ํฝ ์์ฒด๊ฐ ๋ฐฑ์๋ ๋ฆฌํฉํฐ๋ผ ์ ์ ๋น์ฒด๊ฐ์ด๋ฉด(์: ์๋น์ค ๋ถ๋ฆฌ, ๋ฌด์ํ cutover, request collapsing) โ ๋
ธํธ์์ ํต์งธ๋ก ์๋ตํ๊ฑฐ๋, ๊ผญ ์๋ ค์ผ ํ๋ฉด ์ถ์ํํ 1์ค๋ง.
๊ตฌ์ฒด ์์:
- โ ๋์ ์ (์๋ธํ์คํฌ/๊ตฌํ ๋ํ
์ผ์ ์ค์ธ์):
- "publicapi SMS cutover stateless ๊ฒฝ๋ก client_ip/apikey ๋๋ฝ ์์ "
- "web/privateapi ๋์ผ ์ด์ ํ์ฐ ์์ "
- "follower ์์ฒญ PENDING ์ํ ๊ธฐ๋ก"
โ ์ด๊ฑด ์ ๋ถ "sms-scanner ๋ถ๋ฆฌ" ์ํฝ ํ์ ๊ตฌํ ๋ํ
์ผ. ๋
ธํธ์ ๋ฃ์ง ์๋๋ค.
- โ
์ข์ ์ (์ํฝ์ ์ ์ ์ฒด๊ฐ ๊ฒฐ๊ณผ๋ง):
- "Griffin AI ์ฐ๋ โ SMS ์ค์บ ์ ์ค๋ฏธ์ฑ ํ์ ยท์ ํ ๋ถ๋ฅ ๊ฒฐ๊ณผ ์ ๊ณต" (Griffin AI ์๋น์ค ๊ฐ๋ฐ ์ํฝ์ ์ ์ ์ฒด๊ฐ ์ฐ์ถ๋ฌผ)
์์น: "์ด ์ค์ด ์ ์ ๊ฐ ์ธ์งํ๋ ํ๋์ ๊ธฐ๋ฅ/๋ณํ์ธ๊ฐ, ์๋๋ฉด ๊ทธ๊ฑธ ๋ง๋ค๊ธฐ ์ํ ๋ด๋ถ ์์
์ธ๊ฐ?" ํ์๋ฉด ๋ถ๋ชจ ์คํ ๋ฆฌ๋ก ์ฌ๋ฆฌ๊ฑฐ๋ ๋บ๋ค.
3. ๋ถ๋ฅ ์ฒด๊ณ
์ ํ(๋๋ถ๋ฅ) โ ์ค์ ๋
ธ์ถ ์์น ๊ธฐ์ค:
SMS Scanner โ ๋ฌธ์ ๊ฒ์ฌ ์์ง/์๋น์ค ๋์ยท์๋ต
URL Scanner โ URL ๊ฒ์ฌ ์์ง ๋์
Griffin AI โ griffinsmishing-ai ์ค๋ฏธ์ฑ ํ์ AI ์๋น์ค (๋ชจ๋ธยท์ถ๋ก ์์ง ์์ฒด ๋ณํ)
NSFW AI โ nsfw-ai ์ด๋ฏธ์ง ๋ถ์ ์๋น์ค (๋ชจ๋ธยท์ถ๋ก ์์ง ์์ฒด ๋ณํ)
Web โ ์ผ๋ฐ ์ฌ์ฉ์ ์น ํ๋ฉด
Console โ ๊ด๋ฆฌ/๊ธฐ์
์ฝ์(๋ฆฌํฌํธยทํต๊ณยท๋ธ๋/ํ์ดํธ๋ฆฌ์คํธ)
PrivateAPI โ Private REST API (ํํธ๋/๋ด๋ถ ์ฐ๋)
API โ ์ธ๋ถ ์ฐ๋ API(KISA ๋ฑ) ๋ฐ ๊ณ์ /ํ๋กํ
๋ถ๋ฅ: ์ ๊ธฐ๋ฅ / ๊ธฐ๋ฅ ๊ฐ์ / ๋ฒ๊ทธ ์์
์ค๋ถ๋ฅ(์์ญ) โ ์ฝ์ ํ๋ฉด/ํญ ์ด๋ฆ์ ๋ง์ถ๋ค. ์์:
์ค์บ ์์ฒญ - URL, ์ค์บ ์์ฒญ - SMS, ์ค์บ ์์ฒญ - GetAPK, ์ค์บ ๊ฒฐ๊ณผ - URL, ์ค์บ ๊ฒฐ๊ณผ - SMS, ๋ธ๋๋ฆฌ์คํธ, ํ์ดํธ๋ฆฌ์คํธ, ๋ฆฌํฌํธ, ํต๊ณ, ๊ธฐํ
4. ์ถ๋ ฅ ํ์
์ ํ / ๋ถ๋ฅ / ์ธ๋ถ ๋ด์ฉ 3์ปฌ๋ผ. ์ธ๋ถ ๋ด์ฉ์ ์ค๋ถ๋ฅ โ ์๋ถ๋ฅ(๊ตฌ์ฒด ์ค๋ช
) ๋ค์คํธ ๊ตฌ์กฐ.
๋งํฌ๋ค์ด ํ(์ธ๋ถ ๋ด์ฉ ์
์ ์ค๋ถ๋ฅ<br>ใโข ์๋ถ๋ฅ ํํ)์, ์ํธ ๋ถ์ฌ๋ฃ๊ธฐ์ฉ ํ๋ฌธ(๋ค์ฌ์ฐ๊ธฐ ๋ถ๋ฆฟ) ๋ ๋ค ์ถ๋ ฅํ๋ค.
๋น ๋ถ๋ฅ ํ ์ฒ๋ฆฌ: ๋ฒ๊ทธ ์์ /๊ธฐ๋ฅ ๊ฐ์ /์ ๊ธฐ๋ฅ ์ค ํด๋น ํญ๋ชฉ์ด ์๋ ํ์ ํ์ฌ ์์(Confluence ๊ณ ์ ํ
ํ๋ฆฟ)์ด๋ฉด ์ ์งํ๋ค โ ๋น ํ์ด "์ด ๋ถ๋ฅ์ ์
๋ฐ์ดํธ ์์"์ ๋ช
์ํ๋ ์ ํธ๋ค. ์์ ํ์ ํ๋ผ๋ฉด ์ ๊ฑฐํด๋ ๋ฌด๋ฐฉ.
์ค๋ถ๋ฅ ์นดํ
๊ณ ๋ฆฌ ์ผ๊ด์ฑ: ํ ์
๋ด์์ ๊ธฐ์ค์ ํต์ผํ๋ค. "์ค์บ ์์ฒญ(์์ฒญ ํ์
๋ณ)"๊ณผ "SMS ๊ฒ์ฌ ์๋น์ค(์๋น์ค๋ณ)"๋ฅผ ๊ฐ์ ์
์ ์์ง ์๋๋ค. ์ค์ ๋ก ๋ค๋ฅธ ๋ณํ๋ฉด ์์๋ก ๋ณํฉํ์ง ์๋๋ค.
์๋ถ๋ฅ ๋ฌธ๊ตฌ ๊ท์น (2๋จ๊ณ โ ์ ์ ์ธ์ด ์ฌ์์ฑ):
- ์ด์ ์ ๋ชฉ์ ๊ทธ๋๋ก ์ฎ๊ธฐ์ง ์๋๋ค. ์ ๋ชฉ์ ๊ฐ๋ฐ์ ๊ด์ ์ด๋ค. ์ ์ ๊ฐ ๊ฒช๋ ๊ฒ ๊ธฐ์ค์ผ๋ก ๋ค์ ์ด๋ค.
- ์ ๋ฌธ์ฉ์ด(tenant, DeadlineExceeded, request_infos, gRPC, scheme, fallback, UUID, CAGG ๋ฑ) ์ ๋ฉด ๊ธ์ง.
- ๋์ ์ค์ฌ์ผ๋ก:
~ ์ถ๊ฐ / ~ ํ๋๋ก ๊ฐ์ / ~ ํ์ ์์ .
- ๋ฒ๊ทธ๋ PR์ ์ด์ด ํ์ธํ๋ค. ์ด์ ์ ๋ชฉ๋ง์ผ๋ก๋ ์ ์ ์ฒด๊ฐ์ ์ ํํ ์ ์ ์๋ค. PR ๋ณธ๋ฌธ์ "๋ฌด์์ ์ ์์ ํ๋์ง"๋ฅผ ์ฝ๊ณ , ์ ์ ์
์ฅ์์ ์ด๋ค ํ์์ด์๋์ง๋ฅผ ๋ฌธ์ฅ์ผ๋ก ํ์ด ์ด๋ค.
- ์: "scheme-๋ณ๊ฒฝ fallback์ด changedUrls ๋์ urls๋ก ์ฌ์กฐํ" โ "์ด๋ฏธ ๊ฒ์ฌํ URL์ด ๋ค์ ๊ฒ์ฌ๋๋ ํ์์ ์์ ํ์ต๋๋ค."
- ๊ฐ ํญ๋ชฉ ๋์ ์ถ์ ์ฉ์ผ๋ก ์ด์ ํค๋ฅผ ์๊ฒ ๋ง๋ถ์ฌ๋ ๋จ(์ฌ์ฉ์๊ฐ ๋นผ๋ผ๋ฉด ๋บ๋ค).
5. ๋ง๋ฌด๋ฆฌ
- ์ ์ธํ ์ด์ ๋ชฉ๋ก์ ๋ณ๋๋ก ์ ์ด์ ๋ณด์ฌ์ค ์ฌ์ฉ์๊ฐ ๋๋ฝ์ ๊ฒ์ฆํ ์ ์๊ฒ ํ๋ค.
- ์ ํ/์ค๋ถ๋ฅ ๋ช
์นญ์ด ํ ์ ์ ๋ฉ๋ด๋ช
๊ณผ ๋ค๋ฅผ ์ ์์ผ๋ "๋ฉ๋ด๋ช
๋ง์ถฐ์ค ๊ฒ ์์ผ๋ฉด ์๋ ค๋ฌ๋ผ"๊ณ ์๋ดํ๋ค.
- ๋
ธ์ถ ํ๋ฉด์ด ์ ๋งคํ ํญ๋ชฉ(Web vs Console ๋ฑ)์ ์ง์ด์ค๋ค.
6. Confluence ํ์ด์ง์ ์ง์ ๋ฐ์ํ ๋ (๋ฎ์ด์ฐ๊ธฐ ์ฌ๊ณ ๋ฐฉ์ง)
๊ธฐ๋ณธ์ ํ๋ง ์ถ๋ ฅํ๋ค. ์ฌ์ฉ์๊ฐ "์ด ํ์ด์ง์ ๋ฃ์ด์ค" ๋ผ๊ณ ๋ช
์ํ ๋๋ง Confluence ๋ฅผ ์์ ํ๋ค.
Confluence MCP ๋ ๋ถ๋ถ ์์ ์ด ๋ถ๊ฐํ๊ณ ๋ณธ๋ฌธ ์ ์ฒด๋ฅผ ๊ต์ฒดํ๋ค. ๋ฐ๋ผ์ ๋ค๋ฅธ ์ฌ๋์ด ๋์์ ํธ์ง ์ค์ด๋ฉด ๊ทธ ๋ณ๊ฒฝ์ ๋ฎ์ด์ธ ์ ์๋ค. ๋ฐ๋์:
- ์ ์ฅ ์ง์ ์
getConfluencePage ๋ก ํ์ฌ ๋ณธ๋ฌธ๊ณผ version ๋ฒํธ๋ฅผ ๋ค์ ์ฝ๋๋ค. (์ด์ ํด์ ์ฝ์ด๋ ๋ณธ๋ฌธ์ ์ฌ์ฌ์ฉํ์ง ๋ง ๊ฒ โ ๊ทธ ์ฌ์ด ๋๊ฐ ํธ์งํ์ ์ ์๋ค.)
- ๋ฐฉ๊ธ ์ฝ์ ์ต์ ๋ณธ๋ฌธ์ ๋ด ๋ณ๊ฒฝ๋ง ๋ํด์ ์ ์ฒด ๋ณธ๋ฌธ์ ๊ตฌ์ฑํ๋ค. (๊ธฐ์กด ํ/๋ด์ฉ์ ํ ๊ธ์๋ ๋น ๋จ๋ฆฌ์ง ์๋๋ค.)
- ์ ์ฅ ํ ์๋ต์
version.number ๊ฐ ์ฝ์๋ ๋ฒํธ +1 ์ธ์ง ํ์ธํ๋ค. ๊ฑด๋๋ฐ์์ผ๋ฉด(์: ์ฝ์ ๋ 5์ธ๋ฐ ์ ์ฅ ๊ฒฐ๊ณผ๊ฐ 10) ๊ทธ ์ฌ์ด ํธ์ง์ด ์์๋ค๋ ๋ป โ ์ฌ์ฉ์์๊ฒ ์๋ฆฌ๊ณ ๋ฒ์ ๊ธฐ๋ก ํ์ธ์ ๊ถํ๋ค.
versionMessage ์ ๋ฌด์์ ์ถ๊ฐํ๋์ง ํ ์ค๋ก ๋จ๊ธด๋ค.
์ฌ๋ฌ ๋ฒ ์์ ํ ๋๋ ๋งค ์ ์ฅ๋ง๋ค 1~3 ์ ๋ฐ๋ณตํ๋ค. (ํ ํฐ์ด ๋ ๋ค์ด๋ ๊ณต์ ํ์ด์ง์์ ํ์.)