release_transport
Release a transport request for import into SAP target systems. Specify the transport number and optionally the system ID to initiate the release.
Instructions
Release a transport request for import into target systems
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| transport_number | Yes | Transport number (e.g. DEVK900123) | |
| system_id | No | SAP system ID (e.g. DEV). Omit to use default system. |
Implementation Reference
- src/mcp-server.ts:497-508 (registration)Tool registration in the ListToolsRequestSchema handler — defines the 'release_transport' tool with its input schema (transport_number required + optional system_id).
{ name: "release_transport", description: "Release a transport request for import into target systems", inputSchema: { type: "object" as const, properties: { transport_number: { type: "string", description: "Transport number (e.g. DEVK900123)" }, ...SYSTEM_ID_PROP, }, required: ["transport_number"], }, }, - src/mcp-server.ts:76-76 (schema)Zod schema for transport number input validation, used by both get_transport, release_transport, and delete_transport handlers.
const TransportNumberSchema = z.object({ transport_number: z.string() }); - src/mcp-server.ts:1123-1127 (handler)Handler in the CallToolRequestSchema switch statement — parses the transport_number argument and delegates to client.releaseTransport().
case "release_transport": { const { transport_number } = TransportNumberSchema.parse(args); const result = await client.releaseTransport(transport_number); return { content: [{ type: "text", text: result }] }; } - src/adt-client.ts:208-214 (helper)Actual implementation in AdtClient — POSTs to ADT CTS endpoint /newreleasejobs with an empty body to trigger transport release.
async releaseTransport(transportNumber: string): Promise<string> { return (await this.postWithCsrf( `/sap/bc/adt/cts/transportrequests/${encodeURIComponent(transportNumber.toUpperCase())}/newreleasejobs`, "", "*/*" )).data as string; }