Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
fix(tools): add Atlassian error extractor to all Jira, JSM, and Confl…
…uence tools (#4085)

* fix(tools): add Atlassian error extractor to all Jira, JSM, and Confluence tools

Wire up the existing `atlassian-errors` error extractor to all 95 Atlassian
tool configs so the executor surfaces meaningful error messages instead of
generic status codes. Also fix the extractor itself to handle all three
Atlassian error response formats: `errorMessage` (JSM), `errorMessages`
array (Jira), and `message` (Confluence).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore(tools): lint formatting fix for error extractor

* fix(tools): handle all Atlassian error formats in error extractor

Add RFC 7807 errors[].title format (Confluence v2, Forms/ProForma API)
and Jira field-level errors object to the atlassian-errors extractor.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
  • Loading branch information
waleedlatif1 and claude authored Apr 9, 2026
commit bce638dd753b0ae566f39b501694021b858daf79
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/add_label.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ export const confluenceAddLabelTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/create_blogpost.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ export const confluenceCreateBlogPostTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/create_comment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ export const confluenceCreateCommentTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/create_page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ export const confluenceCreatePageTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/create_page_property.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ export const confluenceCreatePagePropertyTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/create_space.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ export const confluenceCreateSpaceTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/create_space_property.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ export const confluenceCreateSpacePropertyTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/delete_attachment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ export const confluenceDeleteAttachmentTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/delete_blogpost.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ export const confluenceDeleteBlogPostTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/delete_comment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ export const confluenceDeleteCommentTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/delete_label.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ export const confluenceDeleteLabelTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/delete_page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ export const confluenceDeletePageTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/delete_page_property.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ export const confluenceDeletePagePropertyTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/delete_space.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ export const confluenceDeleteSpaceTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/delete_space_property.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ export const confluenceDeleteSpacePropertyTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/get_blogpost.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ export const confluenceGetBlogPostTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/get_page_ancestors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ export const confluenceGetPageAncestorsTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/get_page_children.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ export const confluenceGetPageChildrenTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/get_page_descendants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ export const confluenceGetPageDescendantsTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/get_page_version.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ export const confluenceGetPageVersionTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/get_pages_by_label.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ export const confluenceGetPagesByLabelTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/get_space.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ export const confluenceGetSpaceTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/get_task.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ export const confluenceGetTaskTool: ToolConfig<ConfluenceGetTaskParams, Confluen
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/get_user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ export const confluenceGetUserTool: ToolConfig<ConfluenceGetUserParams, Confluen
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_attachments.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ export const confluenceListAttachmentsTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_blogposts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ export const confluenceListBlogPostsTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_blogposts_in_space.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ export const confluenceListBlogPostsInSpaceTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_comments.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ export const confluenceListCommentsTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_labels.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ export const confluenceListLabelsTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_page_properties.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ export const confluenceListPagePropertiesTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_page_versions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ export const confluenceListPageVersionsTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_pages_in_space.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ export const confluenceListPagesInSpaceTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_space_labels.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ export const confluenceListSpaceLabelsTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_space_permissions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ export const confluenceListSpacePermissionsTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_space_properties.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ export const confluenceListSpacePropertiesTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_spaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ export const confluenceListSpacesTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/list_tasks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ export const confluenceListTasksTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/retrieve.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ export const confluenceRetrieveTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/search.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ export const confluenceSearchTool: ToolConfig<ConfluenceSearchParams, Confluence
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/search_in_space.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ export const confluenceSearchInSpaceTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/update.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ export const confluenceUpdateTool: ToolConfig<ConfluenceUpdateParams, Confluence
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/update_blogpost.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ export const confluenceUpdateBlogPostTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/update_comment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ export const confluenceUpdateCommentTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
2 changes: 2 additions & 0 deletions apps/sim/tools/confluence/update_space.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ export const confluenceUpdateSpaceTool: ToolConfig<
provider: 'confluence',
},

errorExtractor: 'atlassian-errors',

params: {
accessToken: {
type: 'string',
Expand Down
Loading
Loading