머지된 풀 리퀘스트에서 발행된 체인지로그까지
Zero가 이번 주에 머지된 풀 리퀘스트를 읽고 사용자에게 영향을 주는 변경만 남겨 체인지로그 글을 쓴 뒤, 승인하면 같은 실행 안에서 블로그와 Resend, X에 발행합니다.
Zero가 만들어 주는 것: 글, 이메일, 스레드
2026년 7월 20일 vm0.ai에 실제로 발행된 Zero 제품 업데이트입니다. 나간 그대로의 블로그 글, 같은 내용의 뉴스레터, 그리고 X 스레드를 함께 보여 줍니다. 세 가지 모두 그 주에 머지된 풀 리퀘스트에서 한 번의 실행으로 작성됐습니다.
체인지로그 자동화란?
체인지로그 자동화는 주말에 기억에 의존해 쓰는 대신, 팀이 실제로 머지한 작업에서 제품 업데이트를 만들어 내는 방식입니다. Zero는 그 사이에 선 에이전트로서 GitHub의 머지된 풀 리퀘스트를 읽고, 사용자에게 영향을 주는 것만 남기고, 주제로 묶고, 체인지로그 글을 쓰고, 한 번의 실행으로 블로그와 Resend 뉴스레터, X 스레드에 발행합니다. 그 결과 정해진 때에 나가고 모든 채널에서 같은 이야기를 하는 주간 제품 업데이트가 남습니다.
주간 체인지로그가 금요일을 잡아먹는 이유
금요일 오후. 이번 주에도 서른 개 남짓한 풀 리퀘스트가 머지됐고, 누군가는 그것을 사람들이 실제로 읽을 업데이트로 바꿔야 합니다. 머지 목록을 훑고, 어떤 변경이 사용자에게 영향을 주는지 짐작하고, 글을 쓰고, 이메일용으로 줄이고, X용으로 다시 줄이고, 각각을 다른 도구에 붙여 넣습니다. 같은 내용을 세 번 읽는 일이고, X에 올라간 문장은 대개 받은편지함에 도착한 문장과 조금씩 다릅니다.
한 주치 머지가 발행된 체인지로그가 되기까지
1단계: 도구 연결하기
2단계: Zero에게 요청하기
3단계: 한 걸음 더 나아가기
체인지로그 자동화를 위한 GitHub·Resend·X·Slack 연동
이 워크플로는 한 도구에서 읽고 세 곳에 씁니다. 무엇이 출시됐는지에 대한 기준은 GitHub만 가지고 있고, Resend와 X는 발행 대상이며, Slack은 초안이 사람의 승인을 기다리는 곳입니다. 각 커넥터는 따로 승인되고 워크플로가 실제로 쓰는 범위로 제한되므로, 저장소 읽기 권한이 곧 당신의 계정으로 글을 올릴 권한이 되지는 않습니다.
GitHub 연동: Zero가 체인지로그를 만들기 위해 읽는 것
필수Zero는 지정한 기간에 지정한 저장소로 머지된 풀 리퀘스트를 조회하고, 각각의 제목과 본문, 라벨, 머지 시각, 작성자, 변경된 파일 경로를 읽습니다. 사용자 관련 변경과 내부 리팩터링을 가르는 것이 바로 이 다섯 가지 신호입니다. 릴리스 노트 라벨이 가장 강한 신호이고, 변경된 경로는 라벨이 없는 것을 잡아내며, 본문은 제목이 빠뜨린 세부를 채웁니다. 이 워크플로에서 GitHub 연동은 읽기 전용입니다. Zero는 이슈를 열지도, 커밋을 올리지도, 풀 리퀘스트를 수정하지도 않습니다. 저장소를 여러 개 지정하면 같은 과정에서 모두 읽으므로, 프런트엔드와 백엔드가 나뉘어 있어도 체인지로그는 하나로 나옵니다.
Resend 연동: Zero가 보내는 뉴스레터
필수Zero는 Resend 오디언스를 읽어 ID가 아니라 이름으로 지정할 수 있게 한 뒤, 캠페인을 만들어 발송합니다. 제목, 프리헤더, HTML 본문, 일반 텍스트 대안까지 포함합니다. 발송 후에는 결과를 다시 읽어 전달, 보류, 반송 건수를 보고합니다. 그래서 리포트와 캠페인의 숫자가 어긋나지 않습니다. 발송 권한은 오디언스 읽기 권한과 별도로 부여되며, Zero가 연락처를 추가하거나 삭제하거나 내보내는 일은 없습니다.
X 연동: Zero가 올리는 스레드
필수스레드는 블로그 글을 잘라낸 것이 아니라 X에 맞춰 쓴 것입니다. 주제마다 게시물 하나, 무엇이 달라졌는지 말하는 첫 게시물, 그리고 전문으로 연결되는 마지막 게시물로 구성됩니다. Zero는 각 게시물을 앞 게시물의 답글로 올려 스레드가 이어지게 하고, 글이 잘리지 않도록 올리기 전에 길이를 확인합니다. 쓰기 권한은 연결한 계정으로 제한되며 하는 일은 스레드를 올리는 것뿐입니다. Zero는 타임라인도, 멘션도, 다이렉트 메시지도 읽지 않습니다.
Slack 연동: 초안이 승인을 기다리는 곳
선택Slack은 선택이며 승인 단계에서 제 몫을 합니다. Zero는 지정한 채널에 블로그 본문과 이메일 제목, 스레드의 모든 게시물을 포함한 초안 전체를 올린 뒤 멈춥니다. 누군가 승인하기 전에는 아무것도 발행되지 않고, 같은 스레드에서 수정을 요청하면 그 자리에서 갱신된 초안을 받습니다. Slack을 쓰지 않아도 워크플로는 끝까지 돌아가며, 초안은 실행을 시작한 곳으로 돌아옵니다.
Zero와 수작업, 그리고 체인지로그 생성 도구
체인지로그 자동화는 두 가지 문제로 나뉩니다. 무엇이 알릴 가치가 있는지 정하는 일과, 그 공지를 모든 채널에 전달하는 일입니다. 대부분의 도구는 둘 중 하나만 해결합니다.
직접 쓰기
담당자가 머지 목록을 읽고 무엇이 중요한지 판단해 글을 쓴 뒤, 이메일과 X용으로 두 번 다시 씁니다. 판단은 정확하고 문장도 브랜드에 맞지만, 매주 같은 90분이 들고 바쁜 주에 가장 먼저 밀리는 일이기도 합니다.
체인지로그 생성 도구
커밋이나 풀 리퀘스트 제목이 자동으로 릴리스 노트 페이지에 모입니다. 머지를 놓치는 법은 없지만 주제가 아니라 제목을 발행하고, 리팩터링과 기능을 구분하지 못하며, 발행 대상도 하나에서 멈춥니다.
Zero의 체인지로그 워크플로
Zero는 같은 머지를 읽고, 사용자 관련 여부에 대한 당신의 기준을 적용하고, 남은 것을 주제로 묶고, 채널별로 문장을 씁니다. 블로그와 Resend, X는 승인된 하나의 초안에서 한 번의 실행으로 발행되며, 무엇을 왜 보류했는지도 함께 보고됩니다.
더 나은 결과를 위한 팁
자주 묻는 질문
GitHub 풀 리퀘스트로 체인지로그를 자동화하려면?
GitHub을 Zero에 연결하고 일정이나 릴리스 트리거를 지정하세요. Zero는 지정한 기간에 머지된 풀 리퀘스트를 읽고, 사용자 관련 여부 기준으로 걸러낸 뒤, 남은 것을 주제로 묶어 체인지로그 글을 씁니다. Resend와 X까지 연결하면 같은 실행에서 그 채널에도 발행됩니다.
Zero는 어떤 머지가 사용자 관련인지 어떻게 판단하나요?
당신이 준 기준을 네 가지 신호에 적용해 판단합니다. 릴리스 노트 라벨, 변경된 파일 경로, 풀 리퀘스트 제목, 그리고 본문입니다. 라벨이 가장 강한 신호이고 대부분의 팀이 기준으로 삼는 것이기도 합니다. Zero가 제외한 항목은 이유와 함께 실행 리포트에 남으므로, 잘못된 판단이 조용히 묻히지 않습니다.
하나의 초안을 뉴스레터와 X에 동시에 발행할 수 있나요?
가능합니다. Zero는 주제를 한 번 쓴 뒤 채널별로 다시 씁니다. 블로그에는 전문, 이메일은 제목과 프리헤더를 갖춘 받은편지함 길이, X는 주제마다 게시물 하나인 스레드입니다. 세 곳 모두 승인된 같은 초안에서 같은 실행으로 발행되므로 채널 간에 내용이 어긋날 수 없습니다.
승인 없이 발행되는 일이 있나요?
그렇게 요청하지 않는 한 없습니다. 기본 흐름에서는 Zero가 채널에 초안을 올리고 기다립니다. 승인하거나, 같은 스레드에서 수정을 요청하거나, 그대로 접을 수 있습니다. 사람 없이 발행하길 원한다면 프롬프트에 그렇게 적으면 Zero가 승인 단계를 건너뜁니다.
이 체인지로그 자동화에는 어떤 도구가 필요한가요?
무엇이 출시됐는지의 출처로 GitHub이 필요합니다. 두 발행 대상인 Resend와 X도 필요합니다. Slack은 선택이며 승인 단계에만 쓰입니다. Slack이 없으면 초안은 실행을 시작한 곳으로 돌아옵니다.
이 워크플로에는 어떤 권한이 필요한가요?
GitHub에는 발행 대상 저장소의 읽기 권한이, Resend에는 발송 권한과 오디언스 읽기 권한이, X에는 스레드를 올릴 계정의 쓰기 권한이 필요합니다. Slack을 쓴다면 승인 채널에 글을 올릴 권한이 필요합니다. 각 커넥터는 Zero에서 따로 승인하며, 하나를 취소해도 나머지는 그대로입니다.
여러 저장소에서 하나의 체인지로그를 만들 수 있나요?
가능합니다. 프롬프트에 저장소를 모두 적으면 Zero가 같은 과정에서 모두 읽고, 어느 저장소에서 왔는지가 아니라 달라진 동작을 기준으로 묶습니다. 프런트엔드와 백엔드가 나뉘어 있어도 글은 하나로 나옵니다.
주간 일정 대신 릴리스 태그로 실행할 수 있나요?
가능합니다. GitHub에서 릴리스에 태그가 달릴 때 워크플로를 시작하는 오토메이션을 만드세요. 그러면 Zero는 날짜 구간이 아니라 그 릴리스에 포함된 풀 리퀘스트로 체인지로그를 만듭니다. 나머지 과정은 동일합니다.
이번 주 체인지로그를 발행하세요
GitHub과 Resend, X를 연결하고 주간 프롬프트로 전체 흐름을 확인해 보세요. 확인, 묶기, 초안, 승인, 발행까지 한 번에 이어집니다.