Updates an existing release comment by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
workspace_slug
The workspace_slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL https://app.plane.so/my-team/projects/, the workspace slug is my-team.
https://app.plane.so/my-team/projects/
my-team
release_id
The unique identifier for the release.
comment_id
The unique identifier for the comment.
comment_html
HTML-formatted content of the comment.
parent
ID of the parent comment, for threaded replies.
is_resolved
Whether the comment has been resolved.
edited_at
Timestamp when the comment was last edited, in ISO 8601 format.
releases.comments:write
curl -X PATCH \ "https://api.plane.so/api/v1/workspaces/my-workspace/releases/a1b2c3d4-e5f6-7890-abcd-ef1234567890/comments/c0ffee00-1111-2222-3333-444444444444/" \ -H "X-API-Key: $PLANE_API_KEY" \ # Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "comment_html": "<p>QA sign-off complete. Retested after hotfix.</p>", "is_resolved": true, "edited_at": "2025-03-02T10:05:00.000000Z" }'
import requests response = requests.patch( "https://api.plane.so/api/v1/workspaces/my-workspace/releases/a1b2c3d4-e5f6-7890-abcd-ef1234567890/comments/c0ffee00-1111-2222-3333-444444444444/", headers={"X-API-Key": "your-api-key"}, json={ 'comment_html': '<p>QA sign-off complete. Retested after hotfix.</p>', 'is_resolved': True, 'edited_at': '2025-03-02T10:05:00.000000Z' } ) print(response.json())
const response = await fetch( "https://api.plane.so/api/v1/workspaces/my-workspace/releases/a1b2c3d4-e5f6-7890-abcd-ef1234567890/comments/c0ffee00-1111-2222-3333-444444444444/", { method: "PATCH", headers: { "X-API-Key": "your-api-key", "Content-Type": "application/json", }, body: JSON.stringify({ comment_html: "<p>QA sign-off complete. Retested after hotfix.</p>", is_resolved: true, edited_at: "2025-03-02T10:05:00.000000Z", }), }, ); const data = await response.json();
{ "id": "c0ffee00-1111-2222-3333-444444444444", "created_at": "2025-03-02T09:15:00.000000Z", "updated_at": "2025-03-02T10:05:00.000000Z", "deleted_at": null, "comment": { "description_html": "<p>QA sign-off complete. Retested after hotfix.</p>", "description_binary": null, "description_stripped": "QA sign-off complete. Retested after hotfix.", "description_json": {} }, "is_hidden": false, "edited_at": "2025-03-02T10:05:00.000000Z", "is_resolved": true, "created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", "updated_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430", "workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4", "release": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "parent": null }
Update a release comment
Updates an existing release comment by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
Path Parameters
workspace_slug:requiredstringThe workspace_slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL
https://app.plane.so/my-team/projects/, the workspace slug ismy-team.release_id:requiredstringThe unique identifier for the release.
comment_id:requiredstringThe unique identifier for the comment.
Body Parameters
comment_html:optionalstringHTML-formatted content of the comment.
parent:optionalstringID of the parent comment, for threaded replies.
is_resolved:optionalbooleanWhether the comment has been resolved.
edited_at:optionalstringTimestamp when the comment was last edited, in ISO 8601 format.
Scopes
releases.comments:write