mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-12 05:17:28 -08:00
🐛 Fix issue loading issue types with classic projects (#1627)
* 🐛 Fix issue loading issue types with classic projects * ⚡ Minor improvements on Jira-Node Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
This commit is contained in:
parent
b6e89df660
commit
5460b248ee
|
@ -15,15 +15,20 @@ export const issueOperations = [
|
|||
},
|
||||
},
|
||||
options: [
|
||||
{
|
||||
name: 'Changelog',
|
||||
value: 'changelog',
|
||||
description: 'Get issue changelog',
|
||||
},
|
||||
{
|
||||
name: 'Create',
|
||||
value: 'create',
|
||||
description: 'Create a new issue',
|
||||
},
|
||||
{
|
||||
name: 'Update',
|
||||
value: 'update',
|
||||
description: 'Update an issue',
|
||||
name: 'Delete',
|
||||
value: 'delete',
|
||||
description: 'Delete an issue',
|
||||
},
|
||||
{
|
||||
name: 'Get',
|
||||
|
@ -35,11 +40,6 @@ export const issueOperations = [
|
|||
value: 'getAll',
|
||||
description: 'Get all issues',
|
||||
},
|
||||
{
|
||||
name: 'Changelog',
|
||||
value: 'changelog',
|
||||
description: 'Get issue changelog',
|
||||
},
|
||||
{
|
||||
name: 'Notify',
|
||||
value: 'notify',
|
||||
|
@ -51,9 +51,9 @@ export const issueOperations = [
|
|||
description: `Return either all transitions or a transition that can be performed by the user on an issue, based on the issue's status`,
|
||||
},
|
||||
{
|
||||
name: 'Delete',
|
||||
value: 'delete',
|
||||
description: 'Delete an issue',
|
||||
name: 'Update',
|
||||
value: 'update',
|
||||
description: 'Update an issue',
|
||||
},
|
||||
],
|
||||
default: 'create',
|
||||
|
@ -370,10 +370,7 @@ export const issueFields = [
|
|||
{
|
||||
displayName: 'Issue Type',
|
||||
name: 'issueType',
|
||||
type: 'options',
|
||||
typeOptions: {
|
||||
loadOptionsMethod: 'getIssueTypes',
|
||||
},
|
||||
type: 'string',
|
||||
default: '',
|
||||
description: 'Issue Types',
|
||||
},
|
||||
|
@ -1135,4 +1132,4 @@ export const issueFields = [
|
|||
},
|
||||
],
|
||||
},
|
||||
] as INodeProperties[];
|
||||
] as INodeProperties[];
|
||||
|
|
|
@ -188,31 +188,14 @@ export class Jira implements INodeType {
|
|||
async getIssueTypes(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||||
const projectId = this.getCurrentNodeParameter('project');
|
||||
const returnData: INodePropertyOptions[] = [];
|
||||
|
||||
const issueTypes = await jiraSoftwareCloudApiRequest.call(this, '/api/2/issuetype', 'GET');
|
||||
const jiraVersion = this.getCurrentNodeParameter('jiraVersion') as string;
|
||||
if (jiraVersion === 'server') {
|
||||
for (const issueType of issueTypes) {
|
||||
const issueTypeName = issueType.name;
|
||||
const issueTypeId = issueType.id;
|
||||
|
||||
returnData.push({
|
||||
name: issueTypeName,
|
||||
value: issueTypeId,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
for (const issueType of issueTypes) {
|
||||
if (issueType.scope !== undefined && issueType.scope.project.id === projectId) {
|
||||
const issueTypeName = issueType.name;
|
||||
const issueTypeId = issueType.id;
|
||||
|
||||
returnData.push({
|
||||
name: issueTypeName,
|
||||
value: issueTypeId,
|
||||
});
|
||||
}
|
||||
}
|
||||
const { issueTypes } = await jiraSoftwareCloudApiRequest.call(this, `/api/2/project/${projectId}`, 'GET');
|
||||
for (const issueType of issueTypes) {
|
||||
const issueTypeName = issueType.name;
|
||||
const issueTypeId = issueType.id;
|
||||
returnData.push({
|
||||
name: issueTypeName,
|
||||
value: issueTypeId,
|
||||
});
|
||||
}
|
||||
|
||||
returnData.sort((a, b) => {
|
||||
|
@ -382,7 +365,6 @@ export class Jira implements INodeType {
|
|||
const { fields: { project: { id } } } = await jiraSoftwareCloudApiRequest.call(this, `/api/2/issue/${issueKey}`, 'GET', {}, {});
|
||||
projectId = id;
|
||||
}
|
||||
|
||||
const fields = await jiraSoftwareCloudApiRequest.call(this, `/api/2/field`, 'GET');
|
||||
for (const field of fields) {
|
||||
if (field.custom === true && field.scope && field.scope.project && field.scope.project.id === projectId) {
|
||||
|
|
Loading…
Reference in a new issue