@@ -38,6 +38,66 @@ export const linearCreateIssueTool: ToolConfig<LinearCreateIssueParams, LinearCr
3838 visibility : 'user-or-llm' ,
3939 description : 'Issue description' ,
4040 } ,
41+ stateId : {
42+ type : 'string' ,
43+ required : false ,
44+ visibility : 'user-or-llm' ,
45+ description : 'Workflow state ID (status)' ,
46+ } ,
47+ assigneeId : {
48+ type : 'string' ,
49+ required : false ,
50+ visibility : 'user-or-llm' ,
51+ description : 'User ID to assign the issue to' ,
52+ } ,
53+ priority : {
54+ type : 'number' ,
55+ required : false ,
56+ visibility : 'user-or-llm' ,
57+ description : 'Priority (0=No priority, 1=Urgent, 2=High, 3=Normal, 4=Low)' ,
58+ } ,
59+ estimate : {
60+ type : 'number' ,
61+ required : false ,
62+ visibility : 'user-or-llm' ,
63+ description : 'Estimate in points' ,
64+ } ,
65+ labelIds : {
66+ type : 'array' ,
67+ required : false ,
68+ visibility : 'user-or-llm' ,
69+ description : 'Array of label IDs to set on the issue' ,
70+ } ,
71+ cycleId : {
72+ type : 'string' ,
73+ required : false ,
74+ visibility : 'user-or-llm' ,
75+ description : 'Cycle ID to assign the issue to' ,
76+ } ,
77+ parentId : {
78+ type : 'string' ,
79+ required : false ,
80+ visibility : 'user-or-llm' ,
81+ description : 'Parent issue ID (for creating sub-issues)' ,
82+ } ,
83+ dueDate : {
84+ type : 'string' ,
85+ required : false ,
86+ visibility : 'user-or-llm' ,
87+ description : 'Due date in ISO 8601 format (date only: YYYY-MM-DD)' ,
88+ } ,
89+ subscriberIds : {
90+ type : 'array' ,
91+ required : false ,
92+ visibility : 'user-or-llm' ,
93+ description : 'Array of user IDs to subscribe to the issue' ,
94+ } ,
95+ projectMilestoneId : {
96+ type : 'string' ,
97+ required : false ,
98+ visibility : 'user-or-llm' ,
99+ description : 'Project milestone ID to associate with the issue' ,
100+ } ,
41101 } ,
42102
43103 request : {
@@ -68,6 +128,36 @@ export const linearCreateIssueTool: ToolConfig<LinearCreateIssueParams, LinearCr
68128 if ( params . description != null && params . description !== '' ) {
69129 input . description = params . description
70130 }
131+ if ( params . stateId != null && params . stateId !== '' ) {
132+ input . stateId = params . stateId
133+ }
134+ if ( params . assigneeId != null && params . assigneeId !== '' ) {
135+ input . assigneeId = params . assigneeId
136+ }
137+ if ( params . priority != null ) {
138+ input . priority = Number ( params . priority )
139+ }
140+ if ( params . estimate != null ) {
141+ input . estimate = Number ( params . estimate )
142+ }
143+ if ( params . labelIds != null && Array . isArray ( params . labelIds ) ) {
144+ input . labelIds = params . labelIds
145+ }
146+ if ( params . cycleId != null && params . cycleId !== '' ) {
147+ input . cycleId = params . cycleId
148+ }
149+ if ( params . parentId != null && params . parentId !== '' ) {
150+ input . parentId = params . parentId
151+ }
152+ if ( params . dueDate != null && params . dueDate !== '' ) {
153+ input . dueDate = params . dueDate
154+ }
155+ if ( params . subscriberIds != null && Array . isArray ( params . subscriberIds ) ) {
156+ input . subscriberIds = params . subscriberIds
157+ }
158+ if ( params . projectMilestoneId != null && params . projectMilestoneId !== '' ) {
159+ input . projectMilestoneId = params . projectMilestoneId
160+ }
71161
72162 return {
73163 query : `
@@ -77,9 +167,42 @@ export const linearCreateIssueTool: ToolConfig<LinearCreateIssueParams, LinearCr
77167 id
78168 title
79169 description
80- state { name }
170+ priority
171+ estimate
172+ url
173+ dueDate
174+ state {
175+ id
176+ name
177+ type
178+ }
179+ assignee {
180+ id
181+ name
182+ email
183+ }
81184 team { id }
82185 project { id }
186+ cycle {
187+ id
188+ number
189+ name
190+ }
191+ parent {
192+ id
193+ title
194+ }
195+ projectMilestone {
196+ id
197+ name
198+ }
199+ labels {
200+ nodes {
201+ id
202+ name
203+ color
204+ }
205+ }
83206 }
84207 }
85208 }
@@ -119,9 +242,22 @@ export const linearCreateIssueTool: ToolConfig<LinearCreateIssueParams, LinearCr
119242 id : issue . id ,
120243 title : issue . title ,
121244 description : issue . description ,
122- state : issue . state ?. name ,
245+ priority : issue . priority ,
246+ estimate : issue . estimate ,
247+ url : issue . url ,
248+ dueDate : issue . dueDate ,
249+ state : issue . state ,
250+ assignee : issue . assignee ,
123251 teamId : issue . team ?. id ,
124252 projectId : issue . project ?. id ,
253+ cycleId : issue . cycle ?. id ,
254+ cycleNumber : issue . cycle ?. number ,
255+ cycleName : issue . cycle ?. name ,
256+ parentId : issue . parent ?. id ,
257+ parentTitle : issue . parent ?. title ,
258+ projectMilestoneId : issue . projectMilestone ?. id ,
259+ projectMilestoneName : issue . projectMilestone ?. name ,
260+ labels : issue . labels ?. nodes || [ ] ,
125261 } ,
126262 } ,
127263 }
@@ -130,15 +266,27 @@ export const linearCreateIssueTool: ToolConfig<LinearCreateIssueParams, LinearCr
130266 outputs : {
131267 issue : {
132268 type : 'object' ,
133- description :
134- 'The created issue containing id, title, description, state, teamId, and projectId' ,
269+ description : 'The created issue with all its properties' ,
135270 properties : {
136271 id : { type : 'string' , description : 'Issue ID' } ,
137272 title : { type : 'string' , description : 'Issue title' } ,
138273 description : { type : 'string' , description : 'Issue description' } ,
139- state : { type : 'string' , description : 'Issue state' } ,
274+ priority : { type : 'number' , description : 'Issue priority' } ,
275+ estimate : { type : 'number' , description : 'Issue estimate' } ,
276+ url : { type : 'string' , description : 'Issue URL' } ,
277+ dueDate : { type : 'string' , description : 'Due date (YYYY-MM-DD)' } ,
278+ state : { type : 'object' , description : 'Issue state' } ,
279+ assignee : { type : 'object' , description : 'Assigned user' } ,
140280 teamId : { type : 'string' , description : 'Team ID' } ,
141281 projectId : { type : 'string' , description : 'Project ID' } ,
282+ cycleId : { type : 'string' , description : 'Cycle ID' } ,
283+ cycleNumber : { type : 'number' , description : 'Cycle number' } ,
284+ cycleName : { type : 'string' , description : 'Cycle name' } ,
285+ parentId : { type : 'string' , description : 'Parent issue ID' } ,
286+ parentTitle : { type : 'string' , description : 'Parent issue title' } ,
287+ projectMilestoneId : { type : 'string' , description : 'Project milestone ID' } ,
288+ projectMilestoneName : { type : 'string' , description : 'Project milestone name' } ,
289+ labels : { type : 'array' , description : 'Issue labels' } ,
142290 } ,
143291 } ,
144292 } ,
0 commit comments