routine_code_deploy
Deploy specified code versions to production or staging environments on the ESA MCP Server. Ensures version availability or prompts routine_code_commit if required.
Instructions
Deploy a selected code version to the staging or production environment. If version is not exist, should call routine_code_commit first
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| codeVersion | Yes | Version of the routine, must be a valid semantic version | |
| env | Yes | Environment of the routine, must be "production" or "staging". If the user has no special requirements, it will be deployed to the production environment by default | |
| name | Yes | The name of the routine, support lowercase English, numbers, and hyphens, must start with lowercase English, length cannot be less than 2 characters |
Implementation Reference
- src/tools/er/deploy.ts:31-56 (handler)The handler function that executes the routine_code_deploy tool, invoking the API to publish a routine code version and returning a formatted response.export const routine_code_deploy = async (request: CallToolRequest) => { const res = await api.publishRoutineCodeVersion( request.params.arguments as PublishRoutineCodeVersionRequest, ); if (!res) { return { content: [ { type: 'text', text: `Failed to publish routine code version. ${JSON.stringify(res)}`, }, ], success: false, }; } else { return { content: [ { type: 'text', text: JSON.stringify(res), }, ], success: true, }; } };
- src/tools/er/deploy.ts:5-29 (schema)The Tool object defining the name, description, and input schema for the routine_code_deploy tool.export const ROUTINE_CODE_DEPLOY_TOOL: Tool = { name: 'routine_code_deploy', description: 'Deploy a selected code version to the staging or production environment. If version is not exist, should call routine_code_commit first', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'The name of the routine, support lowercase English, numbers, and hyphens, must start with lowercase English, length cannot be less than 2 characters', }, codeVersion: { type: 'string', description: 'Version of the routine, must be a valid semantic version', }, env: { type: 'string', description: 'Environment of the routine, must be "production" or "staging". If the user has no special requirements, it will be deployed to the production environment by default', }, }, required: ['name', 'codeVersion', 'env'], }, };
- src/tools/list-esa-function.ts:164-208 (registration)The esaHandlers object registers the routine_code_deploy handler function along with other tool handlers.export const esaHandlers: ToolHandlers = { site_active_list, site_match, site_route_list, site_record_list, routine_create, routine_code_commit, routine_delete, routine_list, routine_get, routine_code_deploy, routine_route_list, deployment_delete, route_create, route_delete, route_update, route_get, er_record_create, er_record_delete, er_record_list, html_deploy, create_site, update_site_pause, get_site_pause, create_site_mx_record, create_site_ns_record, create_site_txt_record, create_site_cname_record, create_site_a_or_aaaa_record, update_record, list_records, get_record, delete_record, update_ipv6, get_ipv6, update_managed_transform, get_managed_transform, set_certificate, apply_certificate, get_certificate, delete_certificate, list_certificates, get_certificate_quota, list_sites, };
- src/tools/list-esa-function.ts:103-123 (registration)The ESA_OPENAPI_ER_LIST array registers the ROUTINE_CODE_DEPLOY_TOOL schema along with other ER tools.export const ESA_OPENAPI_ER_LIST = [ HTML_DEPLOY_TOOL, ROUTINE_CREATE_TOOL, ROUTINE_DELETE_TOOL, ROUTINE_LIST_TOOL, ROUTINE_GET_TOOL, ROUTINE_CODE_COMMIT_TOOL, ROUTINE_CODE_DEPLOY_TOOL, ROUTINE_ROUTE_LIST_TOOL, DEPLOYMENT_DELETE_TOOL, SITE_ACTIVE_LIST_TOOL, SITE_ROUTE_LIST_TOOL, ROUTE_CREATE_TOOL, ROUTE_DELETE_TOOL, ROUTE_UPDATE_TOOL, ROUTE_GET_TOOL, SITE_MATCH_TOOL, ER_RECORD_CREATE_TOOL, ER_RECORD_DELETE_TOOL, ER_RECORD_LIST_TOOL, ];