File tree Expand file tree Collapse file tree 5 files changed +35
-15
lines changed Expand file tree Collapse file tree 5 files changed +35
-15
lines changed Original file line number Diff line number Diff line change 99  UpdateIssuesResponse , 
1010  SearchIssuesInput , 
1111  SearchIssuesResponse , 
12-   DeleteIssueResponse 
12+   DeleteIssueResponse , 
13+   IssueBatchResponse 
1314}  from  '../features/issues/types/issue.types' ; 
1415import  { 
1516  ProjectInput , 
@@ -144,7 +145,7 @@ describe('LinearGraphQLClient', () => {
144145      expect ( mockRawRequest ) . toHaveBeenCalledWith ( 
145146        expect . any ( String ) , 
146147        expect . objectContaining ( { 
147-           input : [ input ] 
148+           input : input 
148149        } ) 
149150      ) ; 
150151
@@ -390,15 +391,15 @@ describe('LinearGraphQLClient', () => {
390391        } 
391392      ] ; 
392393
393-       const  result : CreateIssuesResponse  =  await  graphqlClient . createIssues ( issues ) ; 
394+       const  result : IssueBatchResponse  =  await  graphqlClient . createIssues ( issues ) ; 
394395
395396      expect ( result ) . toEqual ( mockResponse . data ) ; 
396397      // Verify single mutation call 
397398      expect ( mockRawRequest ) . toHaveBeenCalledTimes ( 1 ) ; 
398399      expect ( mockRawRequest ) . toHaveBeenCalledWith ( 
399400        expect . any ( String ) , 
400401        expect . objectContaining ( { 
401-           input : issues 
402+           input : {   issues  } 
402403        } ) 
403404      ) ; 
404405    } ) ; 
Original file line number Diff line number Diff line change @@ -70,6 +70,11 @@ export const toolSchemas = {
7070          description : 'Issue priority (0-4)' , 
7171          optional : true , 
7272        } , 
73+         projectId : { 
74+           type : 'string' , 
75+           description : 'Project ID' , 
76+           optional : true , 
77+         } , 
7378        createAsUser : { 
7479          type : 'string' , 
7580          description : 'Name to display for the created issue' , 
@@ -382,6 +387,16 @@ export const toolSchemas = {
382387                type : 'string' , 
383388                description : 'Team ID' , 
384389              } , 
390+               assigneeId : { 
391+                 type : 'string' , 
392+                 description : 'Assignee user ID' , 
393+                 optional : true , 
394+               } , 
395+               priority : { 
396+                 type : 'number' , 
397+                 description : 'Issue priority (0-4)' , 
398+                 optional : true , 
399+               } , 
385400              projectId : { 
386401                type : 'string' , 
387402                description : 'Project ID' , 
Original file line number Diff line number Diff line change @@ -15,7 +15,8 @@ import {
1515  UpdateIssuesResponse , 
1616  SearchIssuesResponse , 
1717  DeleteIssueResponse , 
18-   Issue 
18+   Issue , 
19+   IssueBatchResponse 
1920}  from  '../types/issue.types.js' ; 
2021
2122/** 
@@ -67,13 +68,13 @@ export class IssueHandler extends BaseHandler implements IssueHandlerMethods {
6768        throw  new  Error ( 'Issues parameter must be an array' ) ; 
6869      } 
6970
70-       const  result  =  await  client . createIssues ( args . issues )  as  CreateIssuesResponse ; 
71+       const  result  =  await  client . createIssues ( args . issues )  as  IssueBatchResponse ; 
7172
72-       if  ( ! result . issueCreate . success )  { 
73+       if  ( ! result . issueBatchCreate . success )  { 
7374        throw  new  Error ( 'Failed to create issues' ) ; 
7475      } 
7576
76-       const  createdIssues  =  result . issueCreate . issues  as  Issue [ ] ; 
77+       const  createdIssues  =  result . issueBatchCreate . issues  as  Issue [ ] ; 
7778
7879      return  this . createResponse ( 
7980        `Successfully created ${ createdIssues . length }   issues:\n`  + 
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ import { LinearClient } from '@linear/sdk';
22import  {  DocumentNode  }  from  'graphql' ; 
33import  {  
44  CreateIssueInput ,  
5+   CreateIssuesInput , 
56  CreateIssueResponse , 
67  CreateIssuesResponse , 
78  UpdateIssueInput , 
@@ -54,14 +55,16 @@ export class LinearGraphQLClient {
5455
5556  // Create single issue 
5657  async  createIssue ( input : CreateIssueInput ) : Promise < CreateIssueResponse >  { 
57-     const  {  CREATE_ISSUES_MUTATION  }  =  await  import ( './mutations.js' ) ; 
58-     return  this . execute < CreateIssueResponse > ( CREATE_ISSUES_MUTATION ,  {  input : [ input ]  } ) ; 
58+     const  {  CREATE_ISSUE_MUTATION  }  =  await  import ( './mutations.js' ) ; 
59+     return  this . execute < CreateIssueResponse > ( CREATE_ISSUE_MUTATION ,  {  input : input  } ) ; 
5960  } 
6061
6162  // Create multiple issues 
62-   async  createIssues ( issues : CreateIssueInput [ ] ) : Promise < CreateIssuesResponse >  { 
63-     const  {  CREATE_ISSUES_MUTATION  }  =  await  import ( './mutations.js' ) ; 
64-     return  this . execute < CreateIssuesResponse > ( CREATE_ISSUES_MUTATION ,  {  input : issues  } ) ; 
63+   async  createIssues ( issues : CreateIssueInput [ ] ) : Promise < IssueBatchResponse >  { 
64+     const  {  CREATE_BATCH_ISSUES  }  =  await  import ( './mutations.js' ) ; 
65+     return  this . execute < IssueBatchResponse > ( CREATE_BATCH_ISSUES ,  { 
66+       input : {  issues } 
67+     } ) ; 
6568  } 
6669
6770  // Create a project 
Original file line number Diff line number Diff line change 11import  {  gql  }  from  'graphql-tag' ; 
22
3- export  const  CREATE_ISSUES_MUTATION  =  gql ` 
4-   mutation CreateIssues($input: [ IssueCreateInput!] !) { 
3+ export  const  CREATE_ISSUE_MUTATION  =  gql ` 
4+   mutation CreateIssues($input: IssueCreateInput!) { 
55    issueCreate(input: $input) { 
66      success 
77      issue { 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments