feat(confluence): added list space labels, delete label, delete page prop#3201
feat(confluence): added list space labels, delete label, delete page prop#3201waleedlatif1 merged 1 commit intostagingfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| } | ||
|
|
||
| const encodedLabel = encodeURIComponent(labelName.trim()) | ||
| const url = `https://api.atlassian.com/ex/confluence/${cloudId}/wiki/rest/api/content/${pageId}/label/${encodedLabel}` |
There was a problem hiding this comment.
Delete label cannot target prefixed labels
Medium Severity
confluence_delete_label only accepts labelName and builds the delete path from that value, but add_label supports non-global prefixes. Without a prefix input, prefixed labels cannot be unambiguously targeted, so deletes for labels like my/team can fail or hit the wrong label variant.
Additional Locations (1)
|
|
||
| const queryParams = new URLSearchParams() | ||
| queryParams.append('limit', String(Math.min(Number(limit), 250))) | ||
| if (cursor) { |
There was a problem hiding this comment.
Invalid limit can produce broken upstream requests
Low Severity
limit is converted with Number(limit) and immediately used in Math.min(...) without numeric validation. Non-numeric input becomes NaN, so the query sends limit=NaN to Atlassian, causing avoidable API failures for otherwise valid requests.
Additional Locations (1)
Greptile OverviewGreptile SummaryThis PR expands the Confluence integration by adding new API routes and tool configs to (1) delete a page content property, (2) delete a label from a page, (3) list labels in a space, and (4) list pages by label (with cursor pagination). The Confluence V2 block UI is updated to expose these operations and pass the correct parameters, and the docs are updated accordingly. Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
autonumber
participant Block as ConfluenceV2Block
participant Tool as ToolConfig (confluence_*)
participant Exec as tools/executeTool
participant API as Next.js API Route
participant Atl as Atlassian Confluence API
Block->>Tool: Select operation + params
Tool->>Exec: executeTool(toolId, params)
Exec->>API: fetch /api/tools/confluence/... (internal)
API->>Atl: fetch https://api.atlassian.com/ex/confluence/{cloudId}/...
Atl-->>API: JSON response
API-->>Exec: JSON response
Exec-->>Tool: transformResponse()
Tool-->>Block: structured output + nextCursor
|
) * fix(terminal): reconnect to running executions after page refresh * fix(terminal): use ExecutionEvent type instead of any in reconnection stream * fix(execution): type event buffer with ExecutionEvent instead of Record<string, unknown> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(execution): validate fromEventId query param in reconnection endpoint Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix some bugs * fix(variables): fix tag dropdown and cursor alignment in variables block (#3199) * feat(confluence): added list space labels, delete label, delete page prop (#3201) * updated route * ack comments * fix(execution): reset execution state in reconnection cleanup to unblock re-entry Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(execution): restore running entries when reconnection is interrupted by navigation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * done * remove cast in ioredis types * ack PR comments --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Siddharth Ganesan <siddharthganesan@gmail.com>
) * fix(terminal): reconnect to running executions after page refresh * fix(terminal): use ExecutionEvent type instead of any in reconnection stream * fix(execution): type event buffer with ExecutionEvent instead of Record<string, unknown> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(execution): validate fromEventId query param in reconnection endpoint Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix some bugs * fix(variables): fix tag dropdown and cursor alignment in variables block (#3199) * feat(confluence): added list space labels, delete label, delete page prop (#3201) * updated route * ack comments * fix(execution): reset execution state in reconnection cleanup to unblock re-entry Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(execution): restore running entries when reconnection is interrupted by navigation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * done * remove cast in ioredis types * ack PR comments --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Siddharth Ganesan <siddharthganesan@gmail.com>


Summary
Type of Change
Testing
Tested manually
Checklist