Skip to main content
Glama
aliyun

AlibabaCloud DevOps MCP Server

Official
by aliyun

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
NameRequiredDescriptionDefault
organizationIdYesOrganization ID
projectIdYesProject unique identifier
idYesSprint unique identifier
nameYesSprint name
ownersNoSprint owner user IDs
startDateNoDate string in YYYY-MM-DD format
endDateNoDate string in YYYY-MM-DD format
descriptionNoSprint description
capacityHoursNoSprint 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" }],
      };
    }
  • 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,
      });
    } 
  • 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 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),
    },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aliyun/alibabacloud-devops-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server