restore old outputs

This commit is contained in:
waleed
2026-02-09 16:58:47 -08:00
parent 2985b823ff
commit 116e16ec50
9 changed files with 42 additions and 10 deletions

View File

@@ -173,6 +173,7 @@ Get a single service request from Jira Service Management
| ↳ `value` | json | Field value |
| ↳ `renderedValue` | json | HTML-rendered field value |
| `url` | string | URL to the request |
| `request` | json | The service request object |
### `jsm_get_requests`
@@ -329,7 +330,8 @@ Add customers to a service desk in Jira Service Management
| `domain` | string | Yes | Your Jira domain \(e.g., yourcompany.atlassian.net\) |
| `cloudId` | string | No | Jira Cloud ID for the instance |
| `serviceDeskId` | string | Yes | Service Desk ID \(e.g., "1", "2"\) |
| `accountIds` | string | Yes | Comma-separated Atlassian account IDs to add as customers |
| `accountIds` | string | No | Comma-separated Atlassian account IDs to add as customers |
| `emails` | string | No | Comma-separated email addresses to add as customers |
#### Output
@@ -639,6 +641,7 @@ Approve or decline an approval request in Jira Service Management
| ↳ `approverDecision` | string | Individual approver decision |
| `createdDate` | json | Approval creation date |
| `completedDate` | json | Approval completion date |
| `approval` | json | The approval object |
| `success` | boolean | Whether the operation succeeded |
### `jsm_get_request_type_fields`

View File

@@ -183,6 +183,7 @@ export async function POST(request: NextRequest) {
}),
createdDate: data.createdDate ?? null,
completedDate: data.completedDate ?? null,
approval: data,
success: true,
},
})

View File

@@ -25,6 +25,7 @@ export async function POST(request: NextRequest) {
start,
limit,
accountIds,
emails,
} = body
if (!domain) {
@@ -56,14 +57,15 @@ export async function POST(request: NextRequest) {
const baseUrl = getJsmApiBaseUrl(cloudId)
const parsedAccountIds = accountIds
? typeof accountIds === 'string'
? accountIds
const rawIds = accountIds || emails
const parsedAccountIds = rawIds
? typeof rawIds === 'string'
? rawIds
.split(',')
.map((id: string) => id.trim())
.filter((id: string) => id)
: Array.isArray(accountIds)
? accountIds
: Array.isArray(rawIds)
? rawIds
: []
: []

View File

@@ -215,6 +215,7 @@ export async function POST(request: NextRequest) {
value: fv.value ?? null,
})),
url: `https://${domain}/browse/${data.issueKey}`,
request: data,
},
})
} catch (error) {

View File

@@ -593,13 +593,14 @@ Return ONLY the comment text - no explanations.`,
if (!params.serviceDeskId) {
throw new Error('Service Desk ID is required')
}
if (!params.accountIds) {
throw new Error('At least one account ID is required')
if (!params.accountIds && !params.emails) {
throw new Error('Account IDs or emails are required')
}
return {
...baseParams,
serviceDeskId: params.serviceDeskId,
accountIds: params.accountIds,
emails: params.emails,
}
}
case 'get_organizations':
@@ -749,6 +750,10 @@ Return ONLY the comment text - no explanations.`,
commentBody: { type: 'string', description: 'Comment text' },
isPublic: { type: 'string', description: 'Whether comment is public or internal' },
accountIds: { type: 'string', description: 'Comma-separated Atlassian account IDs' },
emails: {
type: 'string',
description: 'Comma-separated email addresses',
},
customerQuery: { type: 'string', description: 'Customer search query' },
transitionId: { type: 'string', description: 'Transition ID' },
transitionComment: { type: 'string', description: 'Transition comment' },
@@ -799,6 +804,7 @@ Return ONLY the comment text - no explanations.`,
transitionId: { type: 'string', description: 'Applied transition ID' },
participants: { type: 'json', description: 'Array of participants' },
approvals: { type: 'json', description: 'Array of approvals' },
approval: { type: 'json', description: 'Approval object' },
approvalId: { type: 'string', description: 'Approval ID' },
decision: { type: 'string', description: 'Approval decision' },
total: { type: 'number', description: 'Total count' },

View File

@@ -39,10 +39,16 @@ export const jsmAddCustomerTool: ToolConfig<JsmAddCustomerParams, JsmAddCustomer
},
accountIds: {
type: 'string',
required: true,
required: false,
visibility: 'user-or-llm',
description: 'Comma-separated Atlassian account IDs to add as customers',
},
emails: {
type: 'string',
required: false,
visibility: 'user-or-llm',
description: 'Comma-separated email addresses to add as customers',
},
},
request: {
@@ -57,6 +63,7 @@ export const jsmAddCustomerTool: ToolConfig<JsmAddCustomerParams, JsmAddCustomer
cloudId: params.cloudId,
serviceDeskId: params.serviceDeskId,
accountIds: params.accountIds,
emails: params.emails,
}),
},

View File

@@ -153,6 +153,11 @@ export const jsmAnswerApprovalTool: ToolConfig<JsmAnswerApprovalParams, JsmAnswe
},
createdDate: { type: 'json', description: 'Approval creation date', optional: true },
completedDate: { type: 'json', description: 'Approval completion date', optional: true },
approval: {
type: 'json',
description: 'The approval object',
optional: true,
},
success: { type: 'boolean', description: 'Whether the operation succeeded' },
},
}

View File

@@ -144,5 +144,9 @@ export const jsmGetRequestTool: ToolConfig<JsmGetRequestParams, JsmGetRequestRes
},
},
url: { type: 'string', description: 'URL to the request' },
request: {
type: 'json',
description: 'The service request object',
},
},
}

View File

@@ -459,7 +459,8 @@ export interface JsmGetCustomersParams extends JsmBaseParams {
export interface JsmAddCustomerParams extends JsmBaseParams {
serviceDeskId: string
accountIds: string
accountIds?: string
emails?: string
}
export interface JsmGetOrganizationsParams extends JsmBaseParams {
@@ -592,6 +593,7 @@ export interface JsmGetRequestResponse extends ToolResponse {
} | null
requestFieldValues: Array<{ fieldId: string; label: string; value: unknown }>
url: string
request?: Record<string, unknown>
}
}
@@ -759,6 +761,7 @@ export interface JsmAnswerApprovalResponse extends ToolResponse {
}> | null
createdDate: { iso8601: string; friendly: string; epochMillis: number } | null
completedDate: { iso8601: string; friendly: string; epochMillis: number } | null
approval?: Record<string, unknown>
success: boolean
}
}