Skip to content

[feature]: Expose comment count on work-item lists without fetching comment bodies #10104

Open

Description

@albertorizzi

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Please expose lightweight comment metadata on work-item list responses, ideally an optional comment_count field (or at least has_comments), without embedding comment bodies.

The use case is a dashboard listing work items across cycles and projects. Each row should show a comment icon/count only when comments exist. The actual discussion is fetched from the existing per-work-item comments endpoint only when the user clicks the icon.

In the current v2 documentation, neither the project nor workspace work-item list exposes comment count/presence among its requestable fields, and comments is not an allowed expansion:

We also checked the v1 issues list on Plane Cloud: requesting candidate count/presence fields or expand=comments does not add this information to the response.

A proposed response could include:

{
  "id": "<work-item-id>",
  "name": "Example work item",
  "comment_count": 3
}

Ideally this would be available on both project and workspace work-item lists, optionally requested so integrations that do not need it incur no additional cost. The count should follow the requesting token's comment visibility permissions; its treatment of hidden comments and replies should be documented.

Alternatively, a batch endpoint returning only work-item IDs and comment counts would address the same need.

If an existing supported parameter or endpoint already provides this, please point us to it.

Why should this be worked on?

Without this metadata, displaying comment badges requires one additional comments request per work item, even though the discussion itself may never be opened. A list of 50 items can therefore require 50 extra requests just to discover which items have comments.

Requesting only one comment and minimal fields reduces payload size but does not remove the N+1 request pattern. In our integration, these requests compete with cycle/item loading and can trigger HTTP 429 responses.

Caching helps repeated reads, and webhook-based synchronization is another workaround, but maintaining a separate comment-count store and initial synchronization is substantial overhead for a basic list indicator.

A count/presence field or batch counts endpoint would let integrations render the list with a small number of requests and fetch comment content strictly on demand. This is a REST API capability request, independent of the Python SDK.

Activity

  1. albertorizzi commented on Oct 27, 2026

    @albertorizzi
    Author

    Some concrete numbers from our integration, in case they help prioritize.

    Today we call GET /projects/{id}/work-items/{id}/comments/ once per work item, only to know whether a comment badge should be shown. Opening a cycle with ~40 work items costs ~40 extra requests on top of the list call, against the 60/min limit, and we hit 429 when two cycles are opened back to back.

    Either of these would remove the N+1 for us:

    • an optional comment_count field on GET /work-items/ and GET /projects/{id}/work-items/ (requestable via fields=), or
    • a batch endpoint returning {work_item_id: count} for a list of ids.

    A count that follows the token's comment visibility is fine. And if a supported way to get this already exists, we'd gladly use it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions