create_issue
Create new issues in Linear with title, description, team assignment, priority, and labels to track and manage project tasks.
Instructions
Create a new issue in Linear
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Issue title | |
| description | No | Issue description (markdown supported) | |
| teamId | Yes | Team ID | |
| assigneeId | No | Assignee user ID (optional) | |
| priority | No | Priority (0-4, optional) | |
| labels | No | Label IDs to apply (optional) |
Implementation Reference
- src/index.ts:263-286 (handler)The handler logic for the 'create_issue' tool. It validates the required title and teamId, calls linearClient.createIssue with the provided arguments, and returns the created issue as JSON text content.case "create_issue": { const args = request.params.arguments as unknown as CreateIssueArgs; if (!args?.title || !args?.teamId) { throw new Error("Title and teamId are required"); } const issue = await linearClient.createIssue({ title: args.title, description: args.description, teamId: args.teamId, assigneeId: args.assigneeId, priority: args.priority, labelIds: args.labels, }); return { content: [ { type: "text", text: JSON.stringify(issue, null, 2), }, ], }; }
- src/index.ts:221-228 (schema)TypeScript type definition for the arguments accepted by the create_issue tool handler.type CreateIssueArgs = { title: string; description?: string; teamId: string; assigneeId?: string; priority?: number; labels?: string[]; };
- src/index.ts:61-99 (registration)Registration of the 'create_issue' tool in the ListTools response, including name, description, and detailed inputSchema matching the handler args.{ name: "create_issue", description: "Create a new issue in Linear", inputSchema: { type: "object", properties: { title: { type: "string", description: "Issue title", }, description: { type: "string", description: "Issue description (markdown supported)", }, teamId: { type: "string", description: "Team ID", }, assigneeId: { type: "string", description: "Assignee user ID (optional)", }, priority: { type: "number", description: "Priority (0-4, optional)", minimum: 0, maximum: 4, }, labels: { type: "array", items: { type: "string", }, description: "Label IDs to apply (optional)", }, }, required: ["title", "teamId"], }, },
- src/index.ts:47-47 (registration)Declaration of 'create_issue' tool capability in the server capabilities.create_issue: true,