Before you begin
-
A connected MCP client with
changelog:readandchangelog:write. -
status:writeas well, if the project's public pages are not published yet.
Draft the entry
Use a stable external_id, such as a release name. Front matter sets the title, and optionally the summary, area and version.
{
"name": "actions.write",
"arguments": {
"action": "changelog.upsert_draft",
"idempotency_key": "release-2026-09-15-draft",
"arguments": {
"external_id": "release-2026-09-15",
"markdown": "---\ntitle: Heartbeat exit codes\nsummary: Report a job result from its exit code.\narea: monitor\n---\n\nAdd `/h/TOKEN/$?` to the end of a crontab line.\n",
"sources": [{ "kind": "issue", "url": "https://github.com/example/app/issues/42", "label": "#42" }]
}
}
}
Revise and preview
Send changelog.upsert_draft again with the same external_id to update the draft in place. Read the rendered result with changelog.preview_entry, and the history with changelog.list_revisions.
Publish
Pass the revision you reviewed. Publishing happens at once and needs no dashboard approval.
{
"name": "actions.publish",
"arguments": {
"action": "changelog.publish_entry",
"idempotency_key": "release-2026-09-15-publish",
"arguments": { "entry_handle": "chg_...", "expected_revision": 1 }
}
}
The public changelog page returns 404 until the project's public pages are published. Ask your agent to run public.publish once.
Where people step in
- The Changelog entries screen lists every entry with its state. People review entries there; the agent edits and publishes them.
- Deleting an entry is destructive. It waits until an owner or admin selects "Approve" under "Pending confirmations".
- The dashboard has no button to write a new entry. Entries start with an agent.
Verify
-
Step 1. Open the Changelog entries screen. The row "Heartbeat exit codes" shows Published.
-
Step 2. Open the project's public changelog page. It lists the entry.
Troubleshoot
changelog.get_settingsreturns not found-
The project has no changelog yet. The first
changelog.upsert_draftcreates it. - The public changelog page returns 404
-
The public pages are not published. Run
public.publishonce.
Limits
- Publishing needs no approval. Review the preview before your agent publishes.
- The dashboard does not create entries.