Skip to main content
Glama

assign_items_to_iteration

Assign multiple project items to a specific iteration for organized sprint planning and milestone tracking in GitHub Projects.

Instructions

Bulk assign multiple items to a specific iteration

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdYes
itemIdsYes
iterationIdYes
fieldNameNo

Implementation Reference

  • Main handler function that implements the assign_items_to_iteration tool. Finds the iteration field in the project, then bulk assigns the specified item IDs to the given iteration ID by calling setFieldValue for each item.
    async assignItemsToIteration(data: { projectId: string; itemIds: string[]; iterationId: string; fieldName?: string; }): Promise<{ success: boolean; assignedCount: number }> { try { // Get iteration field const fields = await this.listProjectFields({ projectId: data.projectId }); const iterationField = fields.find((f: CustomField) => f.type === 'iteration' && (!data.fieldName || f.name === data.fieldName) ); if (!iterationField) { throw new ResourceNotFoundError( ResourceType.FIELD, data.fieldName || 'iteration field' ); } let assignedCount = 0; // Assign each item to the iteration for (const itemId of data.itemIds) { try { await this.setFieldValue({ projectId: data.projectId, itemId: itemId, fieldId: iterationField.id, value: { iterationId: data.iterationId } }); assignedCount++; } catch (error) { // Log error but continue with other items console.error(`Failed to assign item ${itemId}:`, error); } } return { success: assignedCount > 0, assignedCount }; } catch (error) { throw this.mapErrorToMCPError(error); } }
  • Tool definition including name, description, input schema (assignItemsToIterationSchema), and usage examples.
    export const assignItemsToIterationTool: ToolDefinition<AssignItemsToIterationArgs> = { name: "assign_items_to_iteration", description: "Bulk assign multiple items to a specific iteration", schema: assignItemsToIterationSchema as unknown as ToolSchema<AssignItemsToIterationArgs>, examples: [ { name: "Assign to sprint", description: "Add multiple issues to the current sprint", args: { projectId: "PVT_kwDOLhQ7gc4AOEbH", itemIds: ["PVTI_lADOLhQ7gc4AOEbHzM4AOAJ7", "PVTI_lADOLhQ7gc4AOEbHzM4AOAJ8"], iterationId: "PVTIF_lADOLhQ7gc4AOEbH" } } ] };
  • Zod input validation schema defining parameters: projectId, itemIds (array), iterationId, optional fieldName.
    // Schema for assign_items_to_iteration tool export const assignItemsToIterationSchema = z.object({ projectId: z.string().min(1, "Project ID is required"), itemIds: z.array(z.string()).min(1, "At least one item ID is required"), iterationId: z.string().min(1, "Iteration ID is required"), fieldName: z.string().optional() }); export type AssignItemsToIterationArgs = z.infer<typeof assignItemsToIterationSchema>;
  • Registers the assignItemsToIterationTool in the central ToolRegistry singleton.
    this.registerTool(assignItemsToIterationTool);
  • Imports assignItemsToIterationTool from ToolSchemas.ts for registration.
    assignItemsToIterationTool,
  • MCP server dispatch: routes tool calls to ProjectManagementService.assignItemsToIteration.
    case "assign_items_to_iteration": return await this.service.assignItemsToIteration(args);

Other Tools

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/kunwarVivek/mcp-github-project-manager'

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