Skip to main content
Glama

linear_updateInitiative

Modify existing initiatives in Linear by updating fields like name, description, content, status, owner, target date, icon, and color using initiative ID.

Instructions

Update an existing initiative

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colorNoUpdated color in hex format
contentNoUpdated content in markdown format
descriptionNoUpdated description of the initiative
iconNoUpdated icon emoji
initiativeIdYesThe ID of the initiative to update
nameNoUpdated name of the initiative
ownerIdNoUpdated owner ID
statusNoUpdated status of the initiative
targetDateNoUpdated target completion date (ISO 8601 format)

Implementation Reference

  • The primary handler function for the 'linear_updateInitiative' tool. It validates the input arguments using a type guard and calls the LinearService to perform the update.
    export function updateInitiativeHandler(linearService: LinearService) { return async (args: unknown) => { if (!isUpdateInitiativeInput(args)) { throw new Error('Invalid input for updateInitiative'); } const { initiativeId, ...updateData } = args; console.log(`[updateInitiative] Updating initiative: ${initiativeId}`); const result = await linearService.updateInitiative(initiativeId, updateData); console.log(`[updateInitiative] Initiative updated successfully`); return result; }; }
  • Tool schema definition including input and output schemas for 'linear_updateInitiative'.
    { name: 'linear_updateInitiative', description: 'Update an existing initiative', input_schema: { type: 'object', properties: { initiativeId: { type: 'string', description: 'The ID of the initiative to update', }, name: { type: 'string', description: 'Updated name of the initiative', }, description: { type: 'string', description: 'Updated description of the initiative', }, content: { type: 'string', description: 'Updated content in markdown format', }, ownerId: { type: 'string', description: 'Updated owner ID', }, targetDate: { type: 'string', description: 'Updated target completion date (ISO 8601 format)', }, status: { type: 'string', description: 'Updated status of the initiative', enum: ['notStarted', 'inProgress', 'completed', 'paused'], }, icon: { type: 'string', description: 'Updated icon emoji', }, color: { type: 'string', description: 'Updated color in hex format', }, }, required: ['initiativeId'], }, output_schema: { type: 'object', properties: { id: { type: 'string' }, name: { type: 'string' }, description: { type: 'string' }, status: { type: 'string' }, url: { type: 'string' }, }, }, },
  • Registration of the tool handler in the registerToolHandlers function, mapping 'linear_updateInitiative' to its handler.
    linear_updateInitiative: updateInitiativeHandler(linearService),
  • Runtime type guard 'isUpdateInitiativeInput' for validating input arguments to the tool handler.
    * Type guard for linear_updateInitiative tool arguments */ export function isUpdateInitiativeInput(args: unknown): args is { initiativeId: string; name?: string; description?: string; content?: string; ownerId?: string; targetDate?: string; status?: string; icon?: string; color?: string; } { return ( typeof args === 'object' && args !== null && 'initiativeId' in args && typeof (args as { initiativeId: string }).initiativeId === 'string' && (!('name' in args) || typeof (args as { name: string }).name === 'string') && (!('description' in args) || typeof (args as { description: string }).description === 'string') && (!('content' in args) || typeof (args as { content: string }).content === 'string') && (!('ownerId' in args) || typeof (args as { ownerId: string }).ownerId === 'string') && (!('targetDate' in args) || typeof (args as { targetDate: string }).targetDate === 'string') && (!('status' in args) || typeof (args as { status: string }).status === 'string') && (!('icon' in args) || typeof (args as { icon: string }).icon === 'string') && (!('color' in args) || typeof (args as { color: string }).color === 'string') ); }

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/tacticlaunch/mcp-linear'

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