update_sprint
Modify sprint details like name, dates, owners, and capacity in Alibaba Cloud DevOps projects to adjust project timelines and team assignments.
Instructions
[Project Management] Update an existing sprint
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| organizationId | Yes | Organization ID | |
| projectId | Yes | Project unique identifier | |
| id | Yes | Sprint unique identifier | |
| name | Yes | Sprint name | |
| owners | No | Sprint owner user IDs | |
| startDate | No | Date string in YYYY-MM-DD format | |
| endDate | No | Date string in YYYY-MM-DD format | |
| description | No | Sprint description | |
| capacityHours | No | Sprint capacity hours |
Implementation Reference
- Handler for 'update_sprint' tool: parses input with UpdateSprintSchema, calls updateSprintFunc from sprint module, returns success message.case "update_sprint": { const args = types.UpdateSprintSchema.parse(request.params.arguments); await sprint.updateSprintFunc( args.organizationId, args.projectId, args.id, args.name, args.owners, args.startDate, args.endDate, args.description, args.capacityHours ); return { content: [{ type: "text", text: "Sprint updated successfully" }], }; }
- operations/projex/sprint.ts:108-154 (helper)Core implementation of sprint update: constructs PUT request to Yunxiao API endpoint /oapi/v1/projex/organizations/{org}/projects/{proj}/sprints/{id} with provided fields.export async function updateSprintFunc( organizationId: string, projectId: string, id: string, name: string, owners?: string[], startDate?: string, endDate?: string, description?: string, capacityHours?: number, operatorId?: string ): Promise<void> { const url = `/oapi/v1/projex/organizations/${organizationId}/projects/${projectId}/sprints/${id}`; const requestBody: Record<string, any> = { name, }; if (owners !== undefined) { requestBody.owners = owners; } if (startDate !== undefined) { requestBody.startDate = startDate; } if (endDate !== undefined) { requestBody.endDate = endDate; } if (description !== undefined) { requestBody.description = description; } if (capacityHours !== undefined) { requestBody.capacityHours = capacityHours; } if (operatorId !== undefined) { requestBody.operatorId = operatorId; } await yunxiaoRequest(url, { method: "PUT", body: requestBody, }); }
- operations/projex/types.ts:122-132 (schema)Zod schema for validating input parameters to update_sprint tool.export const UpdateSprintSchema = z.object({ organizationId: z.string().describe("Organization ID"), projectId: z.string().describe("Project unique identifier"), id: z.string().describe("Sprint unique identifier"), name: z.string().describe("Sprint name"), owners: z.array(z.string()).optional().describe("Sprint owner user IDs"), startDate: z.string().optional().describe("Date string in YYYY-MM-DD format"), endDate: z.string().optional().describe("Date string in YYYY-MM-DD format"), description: z.string().optional().describe("Sprint description"), capacityHours: z.number().int().optional().describe("Sprint capacity hours"), });
- tool-registry/project-management.ts:35-38 (registration)Tool registration in project-management registry: defines name, description, and input schema.name: "update_sprint", description: "[Project Management] Update an existing sprint", inputSchema: zodToJsonSchema(types.UpdateSprintSchema), },