-
Notifications
You must be signed in to change notification settings - Fork 3.3k
feat(confluence): added list space labels, delete label, delete page prop #3201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
11 files reviewed, no comments
) * 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