7937266262
- Implemented the --project flag in the pcli status command to filter boards based on the specified project name. - Updated the command to resolve project names to IDs using case-insensitive matching. - Adjusted the totalBoards count in the output to reflect the number of boards matching the project filter. - Enhanced command help text and README documentation to include usage examples for the new flag. - Verified functionality through manual testing and ensured default behavior remains unchanged when the flag is omitted. feat(board): expand GetBoard response to include labels and card associations - Modified the Board struct to include Labels, CardLabels, and CardMemberships fields. - Updated the GetBoard method to parse additional fields from the API response. - Enhanced ListCardsByBoard to include label names for each card based on the enriched board data. - Ensured backward compatibility by making new fields optional and preserving existing output structure.
1.5 KiB
1.5 KiB
Why
The GetBoard API response includes cardLabels, labels, and cardMemberships in its included data, but pcli only parses lists and cards — silently discarding the rest. This means there is no way to determine which labels are attached to which cards without making per-card API calls. The kanban sync workflow needs to identify agent-labelled cards from a board listing, and currently must fall back to name-matching because label data is unavailable.
What Changes
- Expand the
Boardstruct inmodel/types.goto includeLabels,CardLabels, andCardMembershipsfields - Update
GetBoardinclient/boards.goto parse these additionalincludedfields from the API response - Update
ListCardsByBoardto enrich card output with label names (viacardLabelsjoin table +labels)
Capabilities
New Capabilities
None — this enhances existing capabilities.
Modified Capabilities
api-client:GetBoardSHALL parselabels,cardLabels, andcardMembershipsfrom the board responseincludeddatacard-operations:ListCardsByBoard(card list --board) SHALL include label names on each card
Impact
- Code:
model/types.go(Board struct),client/boards.go(GetBoard parsing),client/cards.go(ListCardsByBoard enrichment) - API: No new API calls — parsing data already returned by
GET /api/boards/:id - Breaking changes: None — new fields are additive; JSON output gains new fields but existing fields unchanged