🐛 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:
Ricardo Espinoza
2021-04-10 02:05:21 -04:00
committed by GitHub
parent b6e89df660
commit 5460b248ee
2 changed files with 21 additions and 42 deletions

View File

@@ -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) {