fix(Linear Node): Fix issue with Issue States not loading correctly (#5435)

This commit is contained in:
Jonathan Bennetts 2023-02-09 15:58:52 +00:00 committed by GitHub
parent 32de081b0c
commit 57a2b9cceb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 4 deletions

View file

@ -134,11 +134,38 @@ export class Linear implements INodeType {
return returnData;
},
async getStates(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
let teamId = this.getNodeParameter('teamId', null) as string;
// Handle Updates
if (!teamId) {
const updateFields = this.getNodeParameter('updateFields', null) as IDataObject;
// If not updating the team look up the current team
if (!updateFields.teamId) {
const issueId = this.getNodeParameter('issueId');
const body = {
query: query.getIssueTeam(),
variables: {
issueId,
},
};
const responseData = await linearApiRequest.call(this, body);
teamId = responseData?.data?.issue?.team?.id;
} else {
teamId = updateFields.teamId as string;
}
}
const returnData: INodePropertyOptions[] = [];
const body = {
query: query.getStates(),
variables: {
$first: 10,
filter: {
team: {
id: {
eq: teamId,
},
},
},
},
};
const states = await linearApiRequestAllItems.call(this, 'data.workflowStates', body);

View file

@ -1,7 +1,7 @@
export const query = {
getUsers() {
return `query Users ($first: Int){
users (first: $first){
return `query Users ($first: Int, $after: String){
users (first: $first, after: $after){
nodes {
id
name
@ -26,8 +26,8 @@ export const query = {
}}`;
},
getStates() {
return `query States ($first: Int){
workflowStates (first: $first){
return `query States ($first: Int, $after: String, $filter: WorkflowStateFilter){
workflowStates (first: $first, after: $after, filter: $filter){
nodes {
id
name
@ -121,6 +121,15 @@ export const query = {
}
}`;
},
getIssueTeam() {
return `query Issue($issueId: String!) {
issue(id: $issueId) {
team {
id
}
}
}`;
},
getIssues() {
return `query Issue ($first: Int, $after: String){
issues (first: $first, after: $after){