alibabacloud-devops-mcp-server
Version:
MCP Server for using the alibabacloud-devops API: allows AI assistants to directly participate in development collaboration, helping teams optimize development processes and improve efficiency.
50 lines (49 loc) • 2.85 kB
JavaScript
import { createChangeRequest, getChangeRequestAuditItems, listChangeRequestExecutions, listChangeRequestWorkItems, cancelChangeRequest, closeChangeRequest, CreateChangeRequestRequestSchema, GetChangeRequestAuditItemsRequestSchema, ListChangeRequestExecutionsRequestSchema, ListChangeRequestWorkItemsRequestSchema, CancelChangeRequestRequestSchema, CloseChangeRequestRequestSchema } from '../operations/appstack/changeRequests.js';
/**
* Handle the appstack change requests tool requests
*
* @param request - The tool request
* @returns The tool response or null if not handled
*/
export async function handleAppStackChangeRequestTools(request) {
switch (request.params.name) {
case 'create_change_request':
const createParams = CreateChangeRequestRequestSchema.parse(request.params.arguments);
const createResult = await createChangeRequest(createParams);
return {
content: [{ type: "text", text: JSON.stringify(createResult, null, 2) }],
};
case 'get_change_request_audit_items':
const getAuditParams = GetChangeRequestAuditItemsRequestSchema.parse(request.params.arguments);
const getAuditResult = await getChangeRequestAuditItems(getAuditParams);
return {
content: [{ type: "text", text: JSON.stringify(getAuditResult, null, 2) }],
};
case 'list_change_request_executions':
const listExecParams = ListChangeRequestExecutionsRequestSchema.parse(request.params.arguments);
const listExecResult = await listChangeRequestExecutions(listExecParams);
return {
content: [{ type: "text", text: JSON.stringify(listExecResult, null, 2) }],
};
case 'list_change_request_work_items':
const listWorkParams = ListChangeRequestWorkItemsRequestSchema.parse(request.params.arguments);
const listWorkResult = await listChangeRequestWorkItems(listWorkParams);
return {
content: [{ type: "text", text: JSON.stringify(listWorkResult, null, 2) }],
};
case 'cancel_change_request':
const cancelParams = CancelChangeRequestRequestSchema.parse(request.params.arguments);
const cancelResult = await cancelChangeRequest(cancelParams);
return {
content: [{ type: "text", text: JSON.stringify(cancelResult, null, 2) }],
};
case 'close_change_request':
const closeParams = CloseChangeRequestRequestSchema.parse(request.params.arguments);
const closeResult = await closeChangeRequest(closeParams);
return {
content: [{ type: "text", text: JSON.stringify(closeResult, null, 2) }],
};
default:
return null;
}
}