| { |
| "name": "save_release", |
| "description": "Create or update a release. If `id` is provided, updates the existing release; otherwise creates a new one. When creating, `name` and `pipeline` are required. Release status is modeled as the release pipeline stage.", |
| "inputSchema": { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "type": "object", |
| "properties": { |
| "id": { |
| "description": "Release ID or slug to update. Omit to create a new release.", |
| "type": "string" |
| }, |
| "name": { |
| "description": "Release name (required when creating)", |
| "type": "string" |
| }, |
| "description": { |
| "description": "Release description", |
| "type": "string" |
| }, |
| "version": { |
| "description": "Version identifier", |
| "type": "string" |
| }, |
| "pipeline": { |
| "description": "Release pipeline ID, slug, or exact name (required when creating)", |
| "type": "string" |
| }, |
| "stage": { |
| "description": "Release stage ID, exact name, or lifecycle type within the release pipeline", |
| "type": "string" |
| }, |
| "startDate": { |
| "description": "Estimated start date (ISO YYYY-MM-DD, null to remove)", |
| "anyOf": [ |
| { |
| "type": "string" |
| }, |
| { |
| "type": "null" |
| } |
| ] |
| }, |
| "targetDate": { |
| "description": "Estimated completion date (ISO YYYY-MM-DD, null to remove)", |
| "anyOf": [ |
| { |
| "type": "string" |
| }, |
| { |
| "type": "null" |
| } |
| ] |
| }, |
| "createdAt": { |
| "description": "Import/create timestamp (ISO DateTime)", |
| "type": "string" |
| }, |
| "startedAt": { |
| "description": "Started timestamp (ISO DateTime, null to remove)", |
| "anyOf": [ |
| { |
| "type": "string" |
| }, |
| { |
| "type": "null" |
| } |
| ] |
| }, |
| "completedAt": { |
| "description": "Completed timestamp (ISO DateTime, null to remove)", |
| "anyOf": [ |
| { |
| "type": "string" |
| }, |
| { |
| "type": "null" |
| } |
| ] |
| }, |
| "commitSha": { |
| "description": "Commit SHA associated with the release", |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false |
| } |
| } |