fix(tools): add Atlassian error extractor to all Jira, JSM, and Confluence 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>
This commit is contained in:
Waleed
2026-04-09 15:18:34 -07:00
committed by GitHub
co-authored by Claude Opus 4.6
parent 05b5588a7b
commit bce638dd75
96 changed files with 225 additions and 3 deletions
+2
View File
@@ -34,6 +34,8 @@ export const confluenceAddLabelTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -44,6 +44,8 @@ export const confluenceCreateBlogPostTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -31,6 +31,8 @@ export const confluenceCreateCommentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -40,6 +40,8 @@ export const confluenceCreatePageTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -38,6 +38,8 @@ export const confluenceCreatePagePropertyTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -39,6 +39,8 @@ export const confluenceCreateSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -35,6 +35,8 @@ export const confluenceCreateSpacePropertyTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -30,6 +30,8 @@ export const confluenceDeleteAttachmentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -31,6 +31,8 @@ export const confluenceDeleteBlogPostTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -30,6 +30,8 @@ export const confluenceDeleteCommentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -33,6 +33,8 @@ export const confluenceDeleteLabelTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -32,6 +32,8 @@ export const confluenceDeletePageTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -33,6 +33,8 @@ export const confluenceDeletePagePropertyTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -31,6 +31,8 @@ export const confluenceDeleteSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -33,6 +33,8 @@ export const confluenceDeleteSpacePropertyTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -49,6 +49,8 @@ export const confluenceGetBlogPostTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -39,6 +39,8 @@ export const confluenceGetPageAncestorsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -42,6 +42,8 @@ export const confluenceGetPageChildrenTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -43,6 +43,8 @@ export const confluenceGetPageDescendantsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -54,6 +54,8 @@ export const confluenceGetPageVersionTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -47,6 +47,8 @@ export const confluenceGetPagesByLabelTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -42,6 +42,8 @@ export const confluenceGetSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -41,6 +41,8 @@ export const confluenceGetTaskTool: ToolConfig<ConfluenceGetTaskParams, Confluen
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -33,6 +33,8 @@ export const confluenceGetUserTool: ToolConfig<ConfluenceGetUserParams, Confluen
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -39,6 +39,8 @@ export const confluenceListAttachmentsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -47,6 +47,8 @@ export const confluenceListBlogPostsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -55,6 +55,8 @@ export const confluenceListBlogPostsInSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -39,6 +39,8 @@ export const confluenceListCommentsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -37,6 +37,8 @@ export const confluenceListLabelsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -43,6 +43,8 @@ export const confluenceListPagePropertiesTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -40,6 +40,8 @@ export const confluenceListPageVersionsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -57,6 +57,8 @@ export const confluenceListPagesInSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -38,6 +38,8 @@ export const confluenceListSpaceLabelsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -42,6 +42,8 @@ export const confluenceListSpacePermissionsTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -38,6 +38,8 @@ export const confluenceListSpacePropertiesTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -38,6 +38,8 @@ export const confluenceListSpacesTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -52,6 +52,8 @@ export const confluenceListTasksTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -21,6 +21,8 @@ export const confluenceRetrieveTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -34,6 +34,8 @@ export const confluenceSearchTool: ToolConfig<ConfluenceSearchParams, Confluence
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -44,6 +44,8 @@ export const confluenceSearchInSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const confluenceUpdateTool: ToolConfig<ConfluenceUpdateParams, Confluence
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -37,6 +37,8 @@ export const confluenceUpdateBlogPostTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -31,6 +31,8 @@ export const confluenceUpdateCommentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -38,6 +38,8 @@ export const confluenceUpdateSpaceTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -44,6 +44,8 @@ export const confluenceUpdateTaskTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -37,6 +37,8 @@ export const confluenceUploadAttachmentTool: ToolConfig<
provider: 'confluence',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+35 -3
View File
@@ -41,9 +41,41 @@ export interface ErrorExtractorConfig {
const ERROR_EXTRACTORS: ErrorExtractorConfig[] = [
{
id: 'atlassian-errors',
description: 'Atlassian REST API errorMessage field',
examples: ['Jira', 'Jira Service Management', 'Confluence'],
extract: (errorInfo) => errorInfo?.data?.errorMessage,
description:
'Atlassian REST API error formats (errorMessage, errorMessages, errors[].title, message)',
examples: ['Jira', 'Jira Service Management', 'Confluence', 'JSM Forms/ProForma'],
extract: (errorInfo) => {
// JSM Service Desk: singular errorMessage string
if (errorInfo?.data?.errorMessage) {
return errorInfo.data.errorMessage
}
// Jira Platform: errorMessages array
if (
Array.isArray(errorInfo?.data?.errorMessages) &&
errorInfo.data.errorMessages.length > 0
) {
return errorInfo.data.errorMessages.join(', ')
}
// Confluence v2 / Forms API: RFC 7807 errors array with title/detail
if (Array.isArray(errorInfo?.data?.errors) && errorInfo.data.errors.length > 0) {
const err = errorInfo.data.errors[0]
if (err?.title) {
return err.detail ? `${err.title}: ${err.detail}` : err.title
}
}
// Jira Platform field-level errors object
if (errorInfo?.data?.errors && !Array.isArray(errorInfo.data.errors)) {
const fieldErrors = Object.entries(errorInfo.data.errors)
.map(([field, msg]) => `${field}: ${msg}`)
.join(', ')
if (fieldErrors) return fieldErrors
}
// Generic message fallback (auth/gateway errors)
if (errorInfo?.data?.message) {
return errorInfo.data.message
}
return undefined
},
},
{
id: 'graphql-errors',
+2
View File
@@ -14,6 +14,8 @@ export const jiraAddAttachmentTool: ToolConfig<JiraAddAttachmentParams, JiraAddA
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -30,6 +30,8 @@ export const jiraAddCommentTool: ToolConfig<JiraAddCommentParams, JiraAddComment
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -14,6 +14,8 @@ export const jiraAddWatcherTool: ToolConfig<JiraAddWatcherParams, JiraAddWatcher
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -57,6 +57,8 @@ export const jiraAddWorklogTool: ToolConfig<JiraAddWorklogParams, JiraAddWorklog
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -14,6 +14,8 @@ export const jiraAssignIssueTool: ToolConfig<JiraAssignIssueParams, JiraAssignIs
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -14,6 +14,8 @@ export const jiraBulkRetrieveTool: ToolConfig<JiraRetrieveBulkParams, JiraRetrie
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -17,6 +17,8 @@ export const jiraCreateIssueLinkTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -17,6 +17,8 @@ export const jiraDeleteAttachmentTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -15,6 +15,8 @@ export const jiraDeleteCommentTool: ToolConfig<JiraDeleteCommentParams, JiraDele
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -14,6 +14,8 @@ export const jiraDeleteIssueTool: ToolConfig<JiraDeleteIssueParams, JiraDeleteIs
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -17,6 +17,8 @@ export const jiraDeleteIssueLinkTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -15,6 +15,8 @@ export const jiraDeleteWorklogTool: ToolConfig<JiraDeleteWorklogParams, JiraDele
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -35,6 +35,8 @@ export const jiraGetAttachmentsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -32,6 +32,8 @@ export const jiraGetCommentsTool: ToolConfig<JiraGetCommentsParams, JiraGetComme
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -32,6 +32,8 @@ export const jiraGetUsersTool: ToolConfig<JiraGetUsersParams, JiraGetUsersRespon
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -32,6 +32,8 @@ export const jiraGetWorklogsTool: ToolConfig<JiraGetWorklogsParams, JiraGetWorkl
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -15,6 +15,8 @@ export const jiraRemoveWatcherTool: ToolConfig<JiraRemoveWatcherParams, JiraRemo
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -195,6 +195,8 @@ export const jiraRetrieveTool: ToolConfig<JiraRetrieveParams, JiraRetrieveRespon
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -81,6 +81,8 @@ export const jiraSearchIssuesTool: ToolConfig<JiraSearchIssuesParams, JiraSearch
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -15,6 +15,8 @@ export const jiraSearchUsersTool: ToolConfig<JiraSearchUsersParams, JiraSearchUs
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -17,6 +17,8 @@ export const jiraTransitionIssueTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jiraUpdateTool: ToolConfig<JiraUpdateParams, JiraUpdateResponse> =
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -31,6 +31,8 @@ export const jiraUpdateCommentTool: ToolConfig<JiraUpdateCommentParams, JiraUpda
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -58,6 +58,8 @@ export const jiraUpdateWorklogTool: ToolConfig<JiraUpdateWorklogParams, JiraUpda
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jiraWriteTool: ToolConfig<JiraWriteParams, JiraWriteResponse> = {
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jsmAddCommentTool: ToolConfig<JsmAddCommentParams, JsmAddCommentRes
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -12,6 +12,8 @@ export const jsmAddCustomerTool: ToolConfig<JsmAddCustomerParams, JsmAddCustomer
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -15,6 +15,8 @@ export const jsmAddOrganizationTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -16,6 +16,8 @@ export const jsmAddParticipantsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jsmAnswerApprovalTool: ToolConfig<JsmAnswerApprovalParams, JsmAnswe
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -15,6 +15,8 @@ export const jsmCreateOrganizationTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -12,6 +12,8 @@ export const jsmCreateRequestTool: ToolConfig<JsmCreateRequestParams, JsmCreateR
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jsmGetApprovalsTool: ToolConfig<JsmGetApprovalsParams, JsmGetApprov
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jsmGetCommentsTool: ToolConfig<JsmGetCommentsParams, JsmGetComments
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jsmGetCustomersTool: ToolConfig<JsmGetCustomersParams, JsmGetCustom
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -16,6 +16,8 @@ export const jsmGetFormStructureTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -17,6 +17,8 @@ export const jsmGetFormTemplatesTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -14,6 +14,8 @@ export const jsmGetIssueFormsTool: ToolConfig<JsmGetIssueFormsParams, JsmGetIssu
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -16,6 +16,8 @@ export const jsmGetOrganizationsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -16,6 +16,8 @@ export const jsmGetParticipantsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jsmGetQueuesTool: ToolConfig<JsmGetQueuesParams, JsmGetQueuesRespon
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -17,6 +17,8 @@ export const jsmGetRequestTool: ToolConfig<JsmGetRequestParams, JsmGetRequestRes
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
@@ -20,6 +20,8 @@ export const jsmGetRequestTypeFieldsTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -16,6 +16,8 @@ export const jsmGetRequestTypesTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jsmGetRequestsTool: ToolConfig<JsmGetRequestsParams, JsmGetRequests
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -16,6 +16,8 @@ export const jsmGetServiceDesksTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -13,6 +13,8 @@ export const jsmGetSlaTool: ToolConfig<JsmGetSlaParams, JsmGetSlaResponse> = {
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -14,6 +14,8 @@ export const jsmGetTransitionsTool: ToolConfig<JsmGetTransitionsParams, JsmGetTr
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',
+2
View File
@@ -15,6 +15,8 @@ export const jsmTransitionRequestTool: ToolConfig<
provider: 'jira',
},
errorExtractor: 'atlassian-errors',
params: {
accessToken: {
type: 'string',