linear_duplicateIssue
Duplicate an issue in Linear by specifying the issue ID, enabling quick replication of tasks for similar workflows or error tracking.
Instructions
Duplicate an issue
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issueId | Yes | ID or identifier of the issue to duplicate (e.g., ABC-123) |
Implementation Reference
- The handler function for linear_duplicateIssue tool. It validates the input arguments using isDuplicateIssueArgs type guard and delegates to linearService.duplicateIssue to create a duplicate of the given issue.export function handleDuplicateIssue(linearService: LinearService) { return async (args: unknown) => { try { if (!isDuplicateIssueArgs(args)) { throw new Error('Invalid arguments for duplicateIssue'); } return await linearService.duplicateIssue(args.issueId); } catch (error) { logError('Error duplicating issue', error); throw error; } }; }
- The input and output schema definition for the linear_duplicateIssue tool.export const duplicateIssueToolDefinition: MCPToolDefinition = { name: 'linear_duplicateIssue', description: 'Duplicate an issue', input_schema: { type: 'object', properties: { issueId: { type: 'string', description: 'ID or identifier of the issue to duplicate (e.g., ABC-123)', }, }, required: ['issueId'], }, output_schema: { type: 'object', properties: { success: { type: 'boolean' }, originalIssue: { type: 'object', properties: { id: { type: 'string' }, identifier: { type: 'string' }, title: { type: 'string' }, }, }, duplicatedIssue: { type: 'object', properties: { id: { type: 'string' }, identifier: { type: 'string' }, title: { type: 'string' }, url: { type: 'string' }, }, }, }, }, };
- src/tools/handlers/index.ts:120-120 (registration)The registration of the linear_duplicateIssue handler within the registerToolHandlers function that maps tool names to their handler functions.linear_duplicateIssue: handleDuplicateIssue(linearService),
- src/tools/type-guards.ts:378-389 (helper)Type guard helper function for validating the input arguments of the linear_duplicateIssue tool.* Type guard for linear_duplicateIssue tool arguments */ export function isDuplicateIssueArgs(args: unknown): args is { issueId: string; } { return ( typeof args === 'object' && args !== null && 'issueId' in args && typeof (args as { issueId: string }).issueId === 'string' ); }