nodes/YouTrack/resources/project/index.ts (75 lines of code) (raw):

import type { INodeProperties } from 'n8n-workflow'; import { projectGetIssuesDescription } from './getIssues'; import { projectGetDescription } from './get'; import { projectGetFieldsSchemaDescription } from './getFieldsSchema'; import { projectSharedDescription } from './shared'; import { projectListDescription } from './list'; export const projectDescription: INodeProperties[] = [ { displayName: 'Operation', name: 'operation', type: 'options', displayOptions: { show: { resource: ['project'], }, }, options: [ { name: 'Get', value: 'get', description: 'Get a specific project', action: 'Get a project', routing: { request: { method: 'GET', url: '=/admin/projects/{{$parameter.projectId}}', }, }, }, { name: 'Get Fields Schema', value: 'getFieldsSchema', description: 'Get the JSON schema for custom fields in the specified project', action: 'Get issue fields schema', routing: { request: { method: 'GET', url: '=/admin/projects/{{$parameter.projectId}}/customFields', }, }, }, { name: 'Get Issues', value: 'getIssues', description: 'Get issues for a specific project', action: 'Get project issues', routing: { request: { method: 'GET', url: '=/admin/projects/{{$parameter.projectId}}/issues', }, }, }, { name: 'Get Many', value: 'list', description: 'Get many projects', action: 'Get many projects', routing: { request: { method: 'GET', url: '/admin/projects', }, }, }, ], default: 'list', noDataExpression: true, }, ...projectSharedDescription, ...projectGetDescription, ...projectGetFieldsSchemaDescription, ...projectGetIssuesDescription, ...projectListDescription, ]