diff --git a/packages/nodes-base/nodes/Trello/AttachmentDescription.ts b/packages/nodes-base/nodes/Trello/AttachmentDescription.ts
new file mode 100644
index 0000000000..a04f507518
--- /dev/null
+++ b/packages/nodes-base/nodes/Trello/AttachmentDescription.ts
@@ -0,0 +1,276 @@
+import { INodeProperties } from "n8n-workflow";
+
+export const attachmentOperations = [
+ // ----------------------------------
+ // attachment
+ // ----------------------------------
+ {
+ displayName: 'Operation',
+ name: 'operation',
+ type: 'options',
+ displayOptions: {
+ show: {
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ options: [
+ {
+ name: 'Create',
+ value: 'create',
+ description: 'Create a new attachment for a card',
+ },
+ {
+ name: 'Delete',
+ value: 'delete',
+ description: 'Delete an attachment',
+ },
+ {
+ name: 'Get',
+ value: 'get',
+ description: 'Get the data of an attachments',
+ },
+ {
+ name: 'Get All',
+ value: 'getAll',
+ description: 'Returns all attachments for the card',
+ }
+ ],
+ default: 'getAll',
+ description: 'The operation to perform.',
+ },
+
+] as INodeProperties[];
+
+export const attachmentFields = [
+
+ // ----------------------------------
+ // attachment:create
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ description: 'The ID of the card to add attachment to.',
+ },
+ {
+ displayName: 'Source URL',
+ name: 'url',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ description: 'The URL of the attachment to add.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'MIME Type',
+ name: 'mimeType',
+ type: 'string',
+ default: '',
+ placeholder: 'image/png',
+ description: 'The MIME type of the attachment to add.',
+ },
+ {
+ displayName: 'Name',
+ name: 'name',
+ type: 'string',
+ default: '',
+ description: 'The name of the attachment to add.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // attachment:delete
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'delete',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ description: 'The ID of the card that attachment belongs to.',
+ },
+ {
+ displayName: 'Attachment ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'delete',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ description: 'The ID of the attachment to delete.',
+ },
+
+ // ----------------------------------
+ // attachment:getAll
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ description: 'The ID of the card to get attachments.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list of fields.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // attachment:get
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ description: 'The ID of the card to get attachment.',
+ },
+ {
+ displayName: 'Attachment ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ description: 'The ID of the attachment to get.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'attachment',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list of fields.',
+ },
+ ],
+ },
+
+] as INodeProperties[];
diff --git a/packages/nodes-base/nodes/Trello/BoardDescription.ts b/packages/nodes-base/nodes/Trello/BoardDescription.ts
new file mode 100644
index 0000000000..b089d689ce
--- /dev/null
+++ b/packages/nodes-base/nodes/Trello/BoardDescription.ts
@@ -0,0 +1,457 @@
+import { INodeProperties } from "n8n-workflow";
+
+export const boardOperations = [
+ // ----------------------------------
+ // board
+ // ----------------------------------
+ {
+ displayName: 'Operation',
+ name: 'operation',
+ type: 'options',
+ displayOptions: {
+ show: {
+ resource: [
+ 'board',
+ ],
+ },
+ },
+ options: [
+ {
+ name: 'Create',
+ value: 'create',
+ description: 'Create a new board',
+ },
+ {
+ name: 'Delete',
+ value: 'delete',
+ description: 'Delete a board',
+ },
+ {
+ name: 'Get',
+ value: 'get',
+ description: 'Get the data of a board',
+ },
+ {
+ name: 'Update',
+ value: 'update',
+ description: 'Update a board',
+ },
+ ],
+ default: 'create',
+ description: 'The operation to perform.',
+ }
+] as INodeProperties[];
+
+export const boardFields = [
+
+ // ----------------------------------
+ // board:create
+ // ----------------------------------
+ {
+ displayName: 'Name',
+ name: 'name',
+ type: 'string',
+ default: '',
+ placeholder: 'My board',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'board',
+ ],
+ },
+ },
+ description: 'The name of the board',
+ },
+ {
+ displayName: 'Description',
+ name: 'description',
+ type: 'string',
+ default: '',
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'board',
+ ],
+ },
+ },
+ description: 'The description of the board',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'board',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Aging',
+ name: 'prefs_cardAging',
+ type: 'options',
+ options: [
+ {
+ name: 'Pirate',
+ value: 'pirate',
+ },
+ {
+ name: 'Regular',
+ value: 'regular',
+ },
+ ],
+ default: 'regular',
+ description: 'Determines the type of card aging that should take place on the board if card aging is enabled.',
+ },
+ {
+ displayName: 'Background',
+ name: 'prefs_background',
+ type: 'string',
+ default: 'blue',
+ description: 'The id of a custom background or one of: blue, orange, green, red, purple, pink, lime, sky, grey.',
+ },
+ {
+ displayName: 'Comments',
+ name: 'prefs_comments',
+ type: 'options',
+ options: [
+ {
+ name: 'Disabled',
+ value: 'disabled',
+ },
+ {
+ name: 'Members',
+ value: 'members',
+ },
+ {
+ name: 'Observers',
+ value: 'observers',
+ },
+ {
+ name: 'Organization',
+ value: 'org',
+ },
+ {
+ name: 'Public',
+ value: 'public',
+ },
+ ],
+ default: 'members',
+ description: 'Who can comment on cards on this board.',
+ },
+ {
+ displayName: 'Covers',
+ name: 'prefs_cardCovers',
+ type: 'boolean',
+ default: true,
+ description: 'Determines whether card covers are enabled.',
+ },
+ {
+ displayName: 'Invitations',
+ name: 'prefs_invitations',
+ type: 'options',
+ options: [
+ {
+ name: 'Admins',
+ value: 'admins',
+ },
+ {
+ name: 'Members',
+ value: 'members',
+ },
+ ],
+ default: 'members',
+ description: 'Determines what types of members can invite users to join.',
+ },
+ {
+ displayName: 'Keep From Source',
+ name: 'keepFromSource',
+ type: 'string',
+ default: 'none',
+ description: 'To keep cards from the original board pass in the value cards.',
+ },
+ {
+ displayName: 'Labels',
+ name: 'defaultLabels',
+ type: 'boolean',
+ default: true,
+ description: 'Determines whether to use the default set of labels.',
+ },
+ {
+ displayName: 'Lists',
+ name: 'defaultLists',
+ type: 'boolean',
+ default: true,
+ description: 'Determines whether to add the default set of lists to a board(To Do, Doing, Done).It is ignored if idBoardSource is provided.',
+ },
+ {
+ displayName: 'Organization ID',
+ name: 'idOrganization',
+ type: 'string',
+ default: '',
+ description: 'The id or name of the team the board should belong to.',
+ },
+ {
+ displayName: 'Permission Level',
+ name: 'prefs_permissionLevel',
+ type: 'options',
+ options: [
+ {
+ name: 'Organization',
+ value: 'org',
+ },
+ {
+ name: 'Private',
+ value: 'private',
+ },
+ {
+ name: 'Public',
+ value: 'public',
+ },
+ ],
+ default: 'private',
+ description: 'The permissions level of the board.',
+ },
+ {
+ displayName: 'Power Ups',
+ name: 'powerUps',
+ type: 'options',
+ options: [
+ {
+ name: 'All',
+ value: 'all',
+ },
+ {
+ name: 'Calendar',
+ value: 'calendar',
+ },
+ {
+ name: 'Card Aging',
+ value: 'cardAging',
+ },
+ {
+ name: 'Recap',
+ value: 'recap',
+ },
+ {
+ name: 'Voting',
+ value: 'voting',
+ },
+ ],
+ default: 'all',
+ description: 'The Power-Ups that should be enabled on the new board.',
+ },
+ {
+ displayName: 'Self Join',
+ name: 'prefs_selfJoin',
+ type: 'boolean',
+ default: true,
+ description: 'Determines whether users can join the boards themselves or whether they have to be invited.',
+ },
+ {
+ displayName: 'Source IDs',
+ name: 'idBoardSource',
+ type: 'string',
+ default: '',
+ description: 'The id of a board to copy into the new board.',
+ },
+ {
+ displayName: 'Voting',
+ name: 'prefs_voting',
+ type: 'options',
+ options: [
+ {
+ name: 'Disabled',
+ value: 'disabled',
+ },
+ {
+ name: 'Members',
+ value: 'members',
+ },
+ {
+ name: 'Observers',
+ value: 'observers',
+ },
+ {
+ name: 'Organization',
+ value: 'org',
+ },
+ {
+ name: 'Public',
+ value: 'public',
+ },
+ ],
+ default: 'disabled',
+ description: 'Who can vote on this board.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // board:delete
+ // ----------------------------------
+ {
+ displayName: 'Board ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'delete',
+ ],
+ resource: [
+ 'board',
+ ],
+ },
+ },
+ description: 'The ID of the board to delete.',
+ },
+
+ // ----------------------------------
+ // board:get
+ // ----------------------------------
+ {
+ displayName: 'Board ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'board',
+ ],
+ },
+ },
+ description: 'The ID of the board to get.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'board',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list:
closed, dateLastActivity, dateLastView, desc, descData,
idOrganization, invitations, invited, labelNames, memberships,
name, pinned, powerUps, prefs, shortLink, shortUrl,
starred, subscribed, url',
+ },
+ {
+ displayName: 'Plugin Data',
+ name: 'pluginData',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to include pluginData on the card with the response.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // board:update
+ // ----------------------------------
+ {
+ displayName: 'Board ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'update',
+ ],
+ resource: [
+ 'board',
+ ],
+ },
+ },
+ description: 'The ID of the board to update.',
+ },
+ {
+ displayName: 'Update Fields',
+ name: 'updateFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'update',
+ ],
+ resource: [
+ 'board',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Closed',
+ name: 'closed',
+ type: 'boolean',
+ default: false,
+ description: 'Whether the board is closed.',
+ },
+ {
+ displayName: 'Description',
+ name: 'desc',
+ type: 'string',
+ default: '',
+ description: 'New description of the board',
+ },
+ {
+ displayName: 'Name',
+ name: 'name',
+ type: 'string',
+ default: '',
+ description: 'New name of the board',
+ },
+ {
+ displayName: 'Organization ID',
+ name: 'idOrganization',
+ type: 'string',
+ default: '',
+ description: 'The id of the team the board should be moved to.',
+ },
+ {
+ displayName: 'Subscribed',
+ name: 'subscribed',
+ type: 'boolean',
+ default: false,
+ description: 'Whether the acting user is subscribed to the board.',
+ },
+ ],
+ },
+
+] as INodeProperties[];
diff --git a/packages/nodes-base/nodes/Trello/CardDescription.ts b/packages/nodes-base/nodes/Trello/CardDescription.ts
new file mode 100644
index 0000000000..6b5158e6d1
--- /dev/null
+++ b/packages/nodes-base/nodes/Trello/CardDescription.ts
@@ -0,0 +1,429 @@
+import { INodeProperties } from "n8n-workflow";
+
+export const cardOperations = [
+ // ----------------------------------
+ // card
+ // ----------------------------------
+ {
+ displayName: 'Operation',
+ name: 'operation',
+ type: 'options',
+ displayOptions: {
+ show: {
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ options: [
+ {
+ name: 'Create',
+ value: 'create',
+ description: 'Create a new card',
+ },
+ {
+ name: 'Delete',
+ value: 'delete',
+ description: 'Delete a card',
+ },
+ {
+ name: 'Get',
+ value: 'get',
+ description: 'Get the data of a card',
+ },
+ {
+ name: 'Update',
+ value: 'update',
+ description: 'Update a card',
+ },
+ ],
+ default: 'create',
+ description: 'The operation to perform.',
+ },
+] as INodeProperties[];
+
+export const cardFields = [
+ // ----------------------------------
+ // card:create
+ // ----------------------------------
+ {
+ displayName: 'List ID',
+ name: 'listId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ description: 'The id of the list to create card in',
+ },
+ {
+ displayName: 'Name',
+ name: 'name',
+ type: 'string',
+ default: '',
+ placeholder: 'My card',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ description: 'The name of the card',
+ },
+ {
+ displayName: 'Description',
+ name: 'description',
+ type: 'string',
+ default: '',
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ description: 'The description of the card',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Due Date',
+ name: 'due',
+ type: 'dateTime',
+ default: '',
+ description: 'A due date for the card.',
+ },
+ {
+ displayName: 'Due Complete',
+ name: 'dueComplete',
+ type: 'boolean',
+ default: false,
+ description: 'If the card is completed.',
+ },
+ {
+ displayName: 'Position',
+ name: 'pos',
+ type: 'string',
+ default: 'bottom',
+ description: 'The position of the new card. top, bottom, or a positive float.',
+ },
+ {
+ displayName: 'Member IDs',
+ name: 'idMembers',
+ type: 'string',
+ default: '',
+ description: 'Comma-separated list of member IDs to add to the card.',
+ },
+ {
+ displayName: 'Label IDs',
+ name: 'idLabels',
+ type: 'string',
+ default: '',
+ description: 'Comma-separated list of label IDs to add to the card.',
+ },
+ {
+ displayName: 'URL Source',
+ name: 'urlSource',
+ type: 'string',
+ default: '',
+ description: 'A source URL to attach to card.',
+ },
+ {
+ displayName: 'Source ID',
+ name: 'idCardSource',
+ type: 'string',
+ default: '',
+ description: 'The ID of a card to copy into the new card.',
+ },
+ {
+ displayName: 'Keep from source',
+ name: 'keepFromSource',
+ type: 'string',
+ default: 'all',
+ description: 'If using idCardSource you can specify which properties to copy over. all or comma-separated list of: attachments, checklists, comments, due, labels, members, stickers',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // card:delete
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'delete',
+ ],
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ description: 'The ID of the card to delete.',
+ },
+
+ // ----------------------------------
+ // card:get
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ description: 'The ID of the card to get.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list:
badges, checkItemStates, closed, dateLastActivity, desc,
descData, due, email, idBoard, idChecklists, idLabels, idList,
idMembers, idShort, idAttachmentCover, manualCoverAttachment
, labels, name, pos, shortUrl, url',
+ },
+ {
+ displayName: 'Board',
+ name: 'board',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to return the board object the card is on.',
+ },
+ {
+ displayName: 'Board Fields',
+ name: 'board_fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list:
name, desc, descData, closed, idOrganization, pinned, url, prefs',
+ },
+ {
+ displayName: 'Custom Field Items',
+ name: 'customFieldItems',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to include the customFieldItems.',
+ },
+ {
+ displayName: 'Members',
+ name: 'members',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to return member objects for members on the card.',
+ },
+ {
+ displayName: 'Member Fields',
+ name: 'member_fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list:
avatarHash, fullName, initials, username',
+ },
+ {
+ displayName: 'Plugin Data',
+ name: 'pluginData',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to include pluginData on the card with the response.',
+ },
+ {
+ displayName: 'Stickers',
+ name: 'stickers',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to include sticker models with the response.',
+ },
+ {
+ displayName: 'Sticker Fields',
+ name: 'sticker_fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list of sticker fields.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // card:update
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'update',
+ ],
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ description: 'The ID of the card to update.',
+ },
+ {
+ displayName: 'Update Fields',
+ name: 'updateFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'update',
+ ],
+ resource: [
+ 'card',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Attachment Cover',
+ name: 'idAttachmentCover',
+ type: 'string',
+ default: '',
+ description: 'The ID of the image attachment the card should use as its cover, or null for none.',
+ },
+ {
+ displayName: 'Board ID',
+ name: 'idBoard',
+ type: 'string',
+ default: '',
+ description: 'The ID of the board the card should be on.',
+ },
+ {
+ displayName: 'Closed',
+ name: 'closed',
+ type: 'boolean',
+ default: false,
+ description: 'Whether the board is closed.',
+ },
+ {
+ displayName: 'Description',
+ name: 'desc',
+ type: 'string',
+ default: '',
+ description: 'New description of the board.',
+ },
+ {
+ displayName: 'Due Date',
+ name: 'due',
+ type: 'dateTime',
+ default: '',
+ description: 'A due date for the card.',
+ },
+ {
+ displayName: 'Due Complete',
+ name: 'dueComplete',
+ type: 'boolean',
+ default: false,
+ description: 'If the card is completed.',
+ },
+ {
+ displayName: 'Label IDs',
+ name: 'idLabels',
+ type: 'string',
+ default: '',
+ description: 'Comma-separated list of label IDs to set on card.',
+ },
+ {
+ displayName: 'List ID',
+ name: 'idList',
+ type: 'string',
+ default: '',
+ description: 'The ID of the list the card should be in.',
+ },
+ {
+ displayName: 'Member IDs',
+ name: 'idMembers',
+ type: 'string',
+ default: '',
+ description: 'Comma-separated list of member IDs to set on card.',
+ },
+ {
+ displayName: 'Name',
+ name: 'name',
+ type: 'string',
+ default: '',
+ description: 'New name of the board',
+ },
+ {
+ displayName: 'Position',
+ name: 'pos',
+ type: 'string',
+ default: 'bottom',
+ description: 'The position of the card. top, bottom, or a positive float.',
+ },
+ {
+ displayName: 'Subscribed',
+ name: 'subscribed',
+ type: 'boolean',
+ default: false,
+ description: 'Whether the acting user is subscribed to the board.',
+ },
+ ],
+ },
+] as INodeProperties[];
diff --git a/packages/nodes-base/nodes/Trello/ChecklistDescription.ts b/packages/nodes-base/nodes/Trello/ChecklistDescription.ts
new file mode 100644
index 0000000000..34036f83e2
--- /dev/null
+++ b/packages/nodes-base/nodes/Trello/ChecklistDescription.ts
@@ -0,0 +1,528 @@
+import { INodeProperties } from "n8n-workflow";
+
+export const checklistOperations = [
+ // ----------------------------------
+ // checklist
+ // ----------------------------------
+ {
+ displayName: 'Operation',
+ name: 'operation',
+ type: 'options',
+ displayOptions: {
+ show: {
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ options: [
+ {
+ name: 'Create',
+ value: 'create',
+ description: 'Create a new checklist',
+ },
+ {
+ name: 'Delete',
+ value: 'delete',
+ description: 'Delete a checklist',
+ },
+ {
+ name: 'Delete Checklist Item',
+ value: 'deleteCheckItem',
+ description: 'Delete a checklist item',
+ },
+ {
+ name: 'Get',
+ value: 'get',
+ description: 'Get the data of a checklist',
+ },
+ {
+ name: 'Get All',
+ value: 'getAll',
+ description: 'Returns all checklists for the card',
+ },
+ {
+ name: 'Get Checklist Items',
+ value: 'getCheckItem',
+ description: 'Get a specific Checklist on a card',
+ },
+ {
+ name: 'Get Completed Checklist Items',
+ value: 'completedCheckItems',
+ description: 'Get the completed Checklist items on a card',
+ },
+ {
+ name: 'Update Checklist Item',
+ value: 'updateCheckItem',
+ description: 'Update an item in a checklist on a card.',
+ },
+ ],
+ default: 'getAll',
+ description: 'The operation to perform.',
+ },
+
+] as INodeProperties[];
+
+export const checklistFields = [
+ // ----------------------------------
+ // checklist:create
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the card to add checklist to.',
+ },
+ {
+ displayName: 'Name',
+ name: 'name',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The URL of the checklist to add.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Id Of Checklist Source',
+ name: 'idChecklistSource',
+ type: 'string',
+ default: '',
+ description: 'The ID of a source checklist to copy into the new one.',
+ },
+ {
+ displayName: 'Position',
+ name: 'pos',
+ type: 'string',
+ default: '',
+ description: 'The position of the checklist on the card. One of: top, bottom, or a positive number.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // checklist:delete
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'delete',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the card that checklist belongs to.',
+ },
+ {
+ displayName: 'Checklist ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'delete',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the checklist to delete.',
+ },
+
+
+ // ----------------------------------
+ // checklist:getAll
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the card to get checklists.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list of fields.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // checklist:get
+ // ----------------------------------
+ {
+ displayName: 'Checklist ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the checklist to get.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list of fields.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // checklist:deleteCheckItem
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'deleteCheckItem',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the card that checklist belongs to.',
+ },
+ {
+ displayName: 'CheckItem ID',
+ name: 'checkItemId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'deleteCheckItem',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the checklist item to delete.',
+ },
+
+ // ----------------------------------
+ // checklist:getCheckItem
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'getCheckItem',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the card that checklist belongs to.',
+ },
+ {
+ displayName: 'CheckItem ID',
+ name: 'checkItemId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'getCheckItem',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the checklist item to get.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'getCheckItem',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list of fields.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // checklist:updateCheckItem
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'updateCheckItem',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the card that checklist belongs to.',
+ },
+ {
+ displayName: 'CheckItem ID',
+ name: 'checkItemId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'updateCheckItem',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the checklist item to update.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'updateCheckItem',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Name',
+ name: 'name',
+ type: 'string',
+ default: '',
+ description: 'The new name for the checklist item.',
+ },
+ {
+ displayName: 'State',
+ name: 'state',
+ type: 'options',
+ options: [
+ {
+ name: 'complete',
+ value: 'complete'
+ },
+ {
+ name: 'incomplete',
+ value: 'incomplete',
+ },
+ ],
+ default: 'complete',
+ description: 'The resource to operate on.',
+ },
+ {
+ displayName: 'Checklist ID',
+ name: 'checklistId',
+ type: 'string',
+ default: '',
+ description: 'The ID of the checklist this item is in',
+ },
+ {
+ displayName: 'Position',
+ name: 'pos',
+ type: 'string',
+ default: '',
+ description: 'The position of the checklist on the card. One of: top, bottom, or a positive number.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // checklist:completedCheckItems
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'completedCheckItems',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ description: 'The ID of the card for checkItems.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'completedCheckItems',
+ ],
+ resource: [
+ 'checklist',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list of: "idCheckItem", "state".',
+ },
+ ],
+ },
+
+] as INodeProperties[];
diff --git a/packages/nodes-base/nodes/Trello/LabelDescription.ts b/packages/nodes-base/nodes/Trello/LabelDescription.ts
new file mode 100644
index 0000000000..9c23053282
--- /dev/null
+++ b/packages/nodes-base/nodes/Trello/LabelDescription.ts
@@ -0,0 +1,467 @@
+import { INodeProperties } from "n8n-workflow";
+
+export const labelOperations = [
+ // ----------------------------------
+ // label
+ // ----------------------------------
+ {
+ displayName: 'Operation',
+ name: 'operation',
+ type: 'options',
+ displayOptions: {
+ show: {
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ options: [
+ {
+ name: 'Add to Card',
+ value: 'addLabel',
+ description: 'Add a label to a card.',
+ },
+ {
+ name: 'Create',
+ value: 'create',
+ description: 'Create a new label',
+ },
+ {
+ name: 'Delete',
+ value: 'delete',
+ description: 'Delete a label',
+ },
+ {
+ name: 'Get',
+ value: 'get',
+ description: 'Get the data of a label',
+ },
+ {
+ name: 'Get All',
+ value: 'getAll',
+ description: 'Returns all label for the board',
+ },
+ {
+ name: 'Remove From Card',
+ value: 'removeLabel',
+ description: 'Remove a label from a card.',
+ },
+ {
+ name: 'Update',
+ value: 'update',
+ description: 'Update a label.',
+ }
+
+ ],
+ default: 'getAll',
+ description: 'The operation to perform.',
+ },
+
+] as INodeProperties[];
+
+export const labelFields = [
+ // ----------------------------------
+ // label:create
+ // ----------------------------------
+ {
+ displayName: 'Board ID',
+ name: 'boardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'The ID of the board to create the label on.',
+ },
+ {
+ displayName: 'Name',
+ name: 'name',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'Name for the label.',
+ },
+ {
+ displayName: 'Color',
+ name: 'color',
+ type: 'options',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'create',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ options: [
+ {
+ name: 'black',
+ value: 'black',
+ },
+ {
+ name: 'blue',
+ value: 'blue',
+ },
+ {
+ name: 'green',
+ value: 'green'
+ },
+ {
+ name: 'orange',
+ value: 'orange',
+ },
+ {
+ name: 'lime',
+ value: 'lime',
+ },
+ {
+ name: 'null',
+ value: 'null',
+ },
+ {
+ name: 'pink',
+ value: 'pink',
+ },
+ {
+ name: 'purple',
+ value: 'purple',
+ },
+ {
+ name: 'red',
+ value: 'red',
+ },
+ {
+ name: 'sky',
+ value: 'sky',
+ },
+ {
+ name: 'yellow',
+ value: 'yellow'
+ },
+ ],
+ default: 'null',
+ description: 'The color for the label.',
+ },
+
+
+ // ----------------------------------
+ // label:delete
+ // ----------------------------------
+ {
+ displayName: 'Label ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'delete',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'The ID of the label to delete.',
+ },
+
+ // ----------------------------------
+ // label:getAll
+ // ----------------------------------
+ {
+ displayName: 'Board ID',
+ name: 'boardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'The ID of the board to get label.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list of fields.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // label:get
+ // ----------------------------------
+ {
+ displayName: 'Label ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'Get information about a label by ID.',
+ },
+ {
+ displayName: 'Additional Fields',
+ name: 'additionalFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'get',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Fields',
+ name: 'fields',
+ type: 'string',
+ default: 'all',
+ description: 'Fields to return. Either "all" or a comma-separated list of fields.',
+ },
+ ],
+ },
+
+ // ----------------------------------
+ // label:addLabel
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'addLabel',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'The ID of the card to get label.',
+ },
+ {
+ displayName: 'Label ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'addLabel',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'The ID of the label to add.',
+ },
+
+ // ----------------------------------
+ // label:removeLabel
+ // ----------------------------------
+ {
+ displayName: 'Card ID',
+ name: 'cardId',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'removeLabel',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'The ID of the card to remove label from.',
+ },
+ {
+ displayName: 'Label ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'removeLabel',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'The ID of the label to remove.',
+ },
+
+ // ----------------------------------
+ // label:update
+ // ----------------------------------
+ {
+ displayName: 'Label ID',
+ name: 'id',
+ type: 'string',
+ default: '',
+ required: true,
+ displayOptions: {
+ show: {
+ operation: [
+ 'update',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ description: 'The ID of the label to update.',
+ },
+ {
+ displayName: 'Update Fields',
+ name: 'updateFields',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ operation: [
+ 'update',
+ ],
+ resource: [
+ 'label',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Name',
+ name: 'name',
+ type: 'string',
+ default: '',
+ description: 'Name of the label.',
+ },
+ {
+ displayName: 'Color',
+ name: 'color',
+ type: 'options',
+ options: [
+ {
+ name: 'black',
+ value: 'black',
+ },
+ {
+ name: 'blue',
+ value: 'blue',
+ },
+ {
+ name: 'green',
+ value: 'green'
+ },
+ {
+ name: 'orange',
+ value: 'orange',
+ },
+ {
+ name: 'lime',
+ value: 'lime',
+ },
+ {
+ name: 'null',
+ value: 'null',
+ },
+ {
+ name: 'pink',
+ value: 'pink',
+ },
+ {
+ name: 'purple',
+ value: 'purple',
+ },
+ {
+ name: 'red',
+ value: 'red',
+ },
+ {
+ name: 'sky',
+ value: 'sky',
+ },
+ {
+ name: 'yellow',
+ value: 'yellow'
+ },
+ ],
+ default: 'null',
+ description: 'The color for the label.',
+ },
+ ],
+ },
+
+] as INodeProperties[];
diff --git a/packages/nodes-base/nodes/Trello/ListDescription.ts b/packages/nodes-base/nodes/Trello/ListDescription.ts
new file mode 100644
index 0000000000..b6b4565632
--- /dev/null
+++ b/packages/nodes-base/nodes/Trello/ListDescription.ts
@@ -0,0 +1,247 @@
+import { INodeProperties } from "n8n-workflow";
+
+export const listOperations = [
+ // ----------------------------------
+ // list
+ // ----------------------------------
+ {
+ displayName: "Operation",
+ name: "operation",
+ type: "options",
+ displayOptions: {
+ show: {
+ resource: ["list"]
+ }
+ },
+ options: [
+ {
+ name: "Archive",
+ value: "archive",
+ description: "Archive/Unarchive a list"
+ },
+ {
+ name: "Create",
+ value: "create",
+ description: "Create a new list"
+ },
+ {
+ name: "Get",
+ value: "get",
+ description: "Get the data of a list"
+ },
+ {
+ name: "Update",
+ value: "update",
+ description: "Update a list"
+ }
+ ],
+ default: "create",
+ description: "The operation to perform."
+ }
+] as INodeProperties[];
+
+export const listFields = [
+ // ----------------------------------
+ // list:archive
+ // ----------------------------------
+ {
+ displayName: "List ID",
+ name: "id",
+ type: "string",
+ default: "",
+ required: true,
+ displayOptions: {
+ show: {
+ operation: ["archive"],
+ resource: ["list"]
+ }
+ },
+ description: "The ID of the list to archive or unarchive."
+ },
+ {
+ displayName: "Archive",
+ name: "archive",
+ type: "boolean",
+ default: false,
+ displayOptions: {
+ show: {
+ operation: ["archive"],
+ resource: ["list"]
+ }
+ },
+ description: "If the list should be archived or unarchived."
+ },
+
+ // ----------------------------------
+ // list:create
+ // ----------------------------------
+ {
+ displayName: "Board ID",
+ name: "idBoard",
+ type: "string",
+ default: "",
+ required: true,
+ displayOptions: {
+ show: {
+ operation: ["create"],
+ resource: ["list"]
+ }
+ },
+ description: "The ID of the board the list should be created in"
+ },
+ {
+ displayName: "Name",
+ name: "name",
+ type: "string",
+ default: "",
+ placeholder: "My list",
+ required: true,
+ displayOptions: {
+ show: {
+ operation: ["create"],
+ resource: ["list"]
+ }
+ },
+ description: "The name of the list"
+ },
+ {
+ displayName: "Additional Fields",
+ name: "additionalFields",
+ type: "collection",
+ placeholder: "Add Field",
+ displayOptions: {
+ show: {
+ operation: ["create"],
+ resource: ["list"]
+ }
+ },
+ default: {},
+ options: [
+ {
+ displayName: "List Source",
+ name: "idListSource",
+ type: "string",
+ default: "",
+ description: "ID of the list to copy into the new list."
+ },
+ {
+ displayName: "Position",
+ name: "pos",
+ type: "string",
+ default: "bottom",
+ description:
+ "The position of the new list. top, bottom, or a positive float."
+ }
+ ]
+ },
+
+ // ----------------------------------
+ // list:get
+ // ----------------------------------
+ {
+ displayName: "List ID",
+ name: "id",
+ type: "string",
+ default: "",
+ required: true,
+ displayOptions: {
+ show: {
+ operation: ["get"],
+ resource: ["list"]
+ }
+ },
+ description: "The ID of the list to get."
+ },
+ {
+ displayName: "Additional Fields",
+ name: "additionalFields",
+ type: "collection",
+ placeholder: "Add Field",
+ displayOptions: {
+ show: {
+ operation: ["get"],
+ resource: ["list"]
+ }
+ },
+ default: {},
+ options: [
+ {
+ displayName: "Fields",
+ name: "fields",
+ type: "string",
+ default: "all",
+ description:
+ 'Fields to return. Either "all" or a comma-separated list of fields.'
+ }
+ ]
+ },
+
+ // ----------------------------------
+ // list:update
+ // ----------------------------------
+ {
+ displayName: "List ID",
+ name: "id",
+ type: "string",
+ default: "",
+ required: true,
+ displayOptions: {
+ show: {
+ operation: ["update"],
+ resource: ["list"]
+ }
+ },
+ description: "The ID of the list to update."
+ },
+ {
+ displayName: "Update Fields",
+ name: "updateFields",
+ type: "collection",
+ placeholder: "Add Field",
+ displayOptions: {
+ show: {
+ operation: ["update"],
+ resource: ["list"]
+ }
+ },
+ default: {},
+ options: [
+ {
+ displayName: "Board ID",
+ name: "idBoard",
+ type: "string",
+ default: "",
+ description: "ID of a board the list should be moved to."
+ },
+ {
+ displayName: "Closed",
+ name: "closed",
+ type: "boolean",
+ default: false,
+ description: "Whether the list is closed."
+ },
+ {
+ displayName: "Name",
+ name: "name",
+ type: "string",
+ default: "",
+ description: "New name of the list"
+ },
+ {
+ displayName: "Position",
+ name: "pos",
+ type: "string",
+ default: "bottom",
+ description:
+ "The position of the list. top, bottom, or a positive float."
+ },
+ {
+ displayName: "Subscribed",
+ name: "subscribed",
+ type: "boolean",
+ default: false,
+ description: "Whether the acting user is subscribed to the list."
+ }
+ ]
+ }
+] as INodeProperties[];
diff --git a/packages/nodes-base/nodes/Trello/Trello.node.ts b/packages/nodes-base/nodes/Trello/Trello.node.ts
index ed2e9c2cee..527c94bfb1 100644
--- a/packages/nodes-base/nodes/Trello/Trello.node.ts
+++ b/packages/nodes-base/nodes/Trello/Trello.node.ts
@@ -1,6 +1,4 @@
-import {
- IExecuteFunctions,
-} from 'n8n-core';
+import { IExecuteFunctions } from "n8n-core";
import {
IDataObject,
INodeTypeDescription,
@@ -8,9 +6,13 @@ import {
INodeType,
} from 'n8n-workflow';
-import {
- apiRequest,
-} from './GenericFunctions';
+import { apiRequest } from "./GenericFunctions";
+import { attachmentOperations, attachmentFields } from './AttachmentDescription';
+import { boardOperations, boardFields } from './BoardDescription';
+import { cardOperations, cardFields } from './CardDescription';
+import { checklistOperations, checklistFields } from './ChecklistDescription';
+import { labelOperations, labelFields } from './LabelDescription';
+import { listOperations, listFields } from './ListDescription';
export class Trello implements INodeType {
description: INodeTypeDescription = {
@@ -68,2411 +70,26 @@ export class Trello implements INodeType {
description: 'The resource to operate on.',
},
-
+ // ----------------------------------
+ // operations
+ // ----------------------------------
+ ...attachmentOperations,
+ ...boardOperations,
+ ...cardOperations,
+ ...checklistOperations,
+ ...labelOperations,
+ ...listOperations,
// ----------------------------------
- // board
+ // fields
// ----------------------------------
- {
- displayName: 'Operation',
- name: 'operation',
- type: 'options',
- displayOptions: {
- show: {
- resource: [
- 'board',
- ],
- },
- },
- options: [
- {
- name: 'Create',
- value: 'create',
- description: 'Create a new board',
- },
- {
- name: 'Delete',
- value: 'delete',
- description: 'Delete a board',
- },
- {
- name: 'Get',
- value: 'get',
- description: 'Get the data of a board',
- },
- {
- name: 'Update',
- value: 'update',
- description: 'Update a board',
- },
- ],
- default: 'create',
- description: 'The operation to perform.',
- },
+ ...attachmentFields,
+ ...boardFields,
+ ...cardFields,
+ ...checklistFields,
+ ...labelFields,
+ ...listFields
- // ----------------------------------
- // board:create
- // ----------------------------------
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- placeholder: 'My board',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'board',
- ],
- },
- },
- description: 'The name of the board',
- },
- {
- displayName: 'Description',
- name: 'description',
- type: 'string',
- default: '',
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'board',
- ],
- },
- },
- description: 'The description of the board',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'board',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Aging',
- name: 'prefs_cardAging',
- type: 'options',
- options: [
- {
- name: 'Pirate',
- value: 'pirate',
- },
- {
- name: 'Regular',
- value: 'regular',
- },
- ],
- default: 'regular',
- description: 'Determines the type of card aging that should take place on the board if card aging is enabled.',
- },
- {
- displayName: 'Background',
- name: 'prefs_background',
- type: 'string',
- default: 'blue',
- description: 'The id of a custom background or one of: blue, orange, green, red, purple, pink, lime, sky, grey.',
- },
- {
- displayName: 'Comments',
- name: 'prefs_comments',
- type: 'options',
- options: [
- {
- name: 'Disabled',
- value: 'disabled',
- },
- {
- name: 'Members',
- value: 'members',
- },
- {
- name: 'Observers',
- value: 'observers',
- },
- {
- name: 'Organization',
- value: 'org',
- },
- {
- name: 'Public',
- value: 'public',
- },
- ],
- default: 'members',
- description: 'Who can comment on cards on this board.',
- },
- {
- displayName: 'Covers',
- name: 'prefs_cardCovers',
- type: 'boolean',
- default: true,
- description: 'Determines whether card covers are enabled.',
- },
- {
- displayName: 'Invitations',
- name: 'prefs_invitations',
- type: 'options',
- options: [
- {
- name: 'Admins',
- value: 'admins',
- },
- {
- name: 'Members',
- value: 'members',
- },
- ],
- default: 'members',
- description: 'Determines what types of members can invite users to join.',
- },
- {
- displayName: 'Keep From Source',
- name: 'keepFromSource',
- type: 'string',
- default: 'none',
- description: 'To keep cards from the original board pass in the value cards.',
- },
- {
- displayName: 'Labels',
- name: 'defaultLabels',
- type: 'boolean',
- default: true,
- description: 'Determines whether to use the default set of labels.',
- },
- {
- displayName: 'Lists',
- name: 'defaultLists',
- type: 'boolean',
- default: true,
- description: 'Determines whether to add the default set of lists to a board(To Do, Doing, Done).It is ignored if idBoardSource is provided.',
- },
- {
- displayName: 'Organization ID',
- name: 'idOrganization',
- type: 'string',
- default: '',
- description: 'The id or name of the team the board should belong to.',
- },
- {
- displayName: 'Permission Level',
- name: 'prefs_permissionLevel',
- type: 'options',
- options: [
- {
- name: 'Organization',
- value: 'org',
- },
- {
- name: 'Private',
- value: 'private',
- },
- {
- name: 'Public',
- value: 'public',
- },
- ],
- default: 'private',
- description: 'The permissions level of the board.',
- },
- {
- displayName: 'Power Ups',
- name: 'powerUps',
- type: 'options',
- options: [
- {
- name: 'All',
- value: 'all',
- },
- {
- name: 'Calendar',
- value: 'calendar',
- },
- {
- name: 'Card Aging',
- value: 'cardAging',
- },
- {
- name: 'Recap',
- value: 'recap',
- },
- {
- name: 'Voting',
- value: 'voting',
- },
- ],
- default: 'all',
- description: 'The Power-Ups that should be enabled on the new board.',
- },
- {
- displayName: 'Self Join',
- name: 'prefs_selfJoin',
- type: 'boolean',
- default: true,
- description: 'Determines whether users can join the boards themselves or whether they have to be invited.',
- },
- {
- displayName: 'Source IDs',
- name: 'idBoardSource',
- type: 'string',
- default: '',
- description: 'The id of a board to copy into the new board.',
- },
- {
- displayName: 'Voting',
- name: 'prefs_voting',
- type: 'options',
- options: [
- {
- name: 'Disabled',
- value: 'disabled',
- },
- {
- name: 'Members',
- value: 'members',
- },
- {
- name: 'Observers',
- value: 'observers',
- },
- {
- name: 'Organization',
- value: 'org',
- },
- {
- name: 'Public',
- value: 'public',
- },
- ],
- default: 'disabled',
- description: 'Who can vote on this board.',
- },
- ],
- },
-
- // ----------------------------------
- // board:delete
- // ----------------------------------
- {
- displayName: 'Board ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'delete',
- ],
- resource: [
- 'board',
- ],
- },
- },
- description: 'The ID of the board to delete.',
- },
-
- // ----------------------------------
- // board:get
- // ----------------------------------
- {
- displayName: 'Board ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'board',
- ],
- },
- },
- description: 'The ID of the board to get.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'board',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list:
closed, dateLastActivity, dateLastView, desc, descData,
idOrganization, invitations, invited, labelNames, memberships,
name, pinned, powerUps, prefs, shortLink, shortUrl,
starred, subscribed, url',
- },
- {
- displayName: 'Plugin Data',
- name: 'pluginData',
- type: 'boolean',
- default: false,
- description: 'Whether to include pluginData on the card with the response.',
- },
- ],
- },
-
- // ----------------------------------
- // board:update
- // ----------------------------------
- {
- displayName: 'Board ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'update',
- ],
- resource: [
- 'board',
- ],
- },
- },
- description: 'The ID of the board to update.',
- },
- {
- displayName: 'Update Fields',
- name: 'updateFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'update',
- ],
- resource: [
- 'board',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Closed',
- name: 'closed',
- type: 'boolean',
- default: false,
- description: 'Whether the board is closed.',
- },
- {
- displayName: 'Description',
- name: 'desc',
- type: 'string',
- default: '',
- description: 'New description of the board',
- },
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- description: 'New name of the board',
- },
- {
- displayName: 'Organization ID',
- name: 'idOrganization',
- type: 'string',
- default: '',
- description: 'The id of the team the board should be moved to.',
- },
- {
- displayName: 'Subscribed',
- name: 'subscribed',
- type: 'boolean',
- default: false,
- description: 'Whether the acting user is subscribed to the board.',
- },
- ],
- },
-
-
-
- // ----------------------------------
- // card
- // ----------------------------------
- {
- displayName: 'Operation',
- name: 'operation',
- type: 'options',
- displayOptions: {
- show: {
- resource: [
- 'card',
- ],
- },
- },
- options: [
- {
- name: 'Create',
- value: 'create',
- description: 'Create a new card',
- },
- {
- name: 'Delete',
- value: 'delete',
- description: 'Delete a card',
- },
- {
- name: 'Get',
- value: 'get',
- description: 'Get the data of a card',
- },
- {
- name: 'Update',
- value: 'update',
- description: 'Update a card',
- },
- ],
- default: 'create',
- description: 'The operation to perform.',
- },
-
- // ----------------------------------
- // card:create
- // ----------------------------------
- {
- displayName: 'List ID',
- name: 'listId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'card',
- ],
- },
- },
- description: 'The id of the list to create card in',
- },
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- placeholder: 'My card',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'card',
- ],
- },
- },
- description: 'The name of the card',
- },
- {
- displayName: 'Description',
- name: 'description',
- type: 'string',
- default: '',
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'card',
- ],
- },
- },
- description: 'The description of the card',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'card',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Due Date',
- name: 'due',
- type: 'dateTime',
- default: '',
- description: 'A due date for the card.',
- },
- {
- displayName: 'Due Complete',
- name: 'dueComplete',
- type: 'boolean',
- default: false,
- description: 'If the card is completed.',
- },
- {
- displayName: 'Position',
- name: 'pos',
- type: 'string',
- default: 'bottom',
- description: 'The position of the new card. top, bottom, or a positive float.',
- },
- {
- displayName: 'Member IDs',
- name: 'idMembers',
- type: 'string',
- default: '',
- description: 'Comma-separated list of member IDs to add to the card.',
- },
- {
- displayName: 'Label IDs',
- name: 'idLabels',
- type: 'string',
- default: '',
- description: 'Comma-separated list of label IDs to add to the card.',
- },
- {
- displayName: 'URL Source',
- name: 'urlSource',
- type: 'string',
- default: '',
- description: 'A source URL to attach to card.',
- },
- {
- displayName: 'Source ID',
- name: 'idCardSource',
- type: 'string',
- default: '',
- description: 'The ID of a card to copy into the new card.',
- },
- {
- displayName: 'Keep from source',
- name: 'keepFromSource',
- type: 'string',
- default: 'all',
- description: 'If using idCardSource you can specify which properties to copy over. all or comma-separated list of: attachments, checklists, comments, due, labels, members, stickers',
- },
- ],
- },
-
- // ----------------------------------
- // card:delete
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'delete',
- ],
- resource: [
- 'card',
- ],
- },
- },
- description: 'The ID of the card to delete.',
- },
-
- // ----------------------------------
- // card:get
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'card',
- ],
- },
- },
- description: 'The ID of the card to get.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'card',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list:
badges, checkItemStates, closed, dateLastActivity, desc,
descData, due, email, idBoard, idChecklists, idLabels, idList,
idMembers, idShort, idAttachmentCover, manualCoverAttachment
, labels, name, pos, shortUrl, url',
- },
- {
- displayName: 'Board',
- name: 'board',
- type: 'boolean',
- default: false,
- description: 'Whether to return the board object the card is on.',
- },
- {
- displayName: 'Board Fields',
- name: 'board_fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list:
name, desc, descData, closed, idOrganization, pinned, url, prefs',
- },
- {
- displayName: 'Custom Field Items',
- name: 'customFieldItems',
- type: 'boolean',
- default: false,
- description: 'Whether to include the customFieldItems.',
- },
- {
- displayName: 'Members',
- name: 'members',
- type: 'boolean',
- default: false,
- description: 'Whether to return member objects for members on the card.',
- },
- {
- displayName: 'Member Fields',
- name: 'member_fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list:
avatarHash, fullName, initials, username',
- },
- {
- displayName: 'Plugin Data',
- name: 'pluginData',
- type: 'boolean',
- default: false,
- description: 'Whether to include pluginData on the card with the response.',
- },
- {
- displayName: 'Stickers',
- name: 'stickers',
- type: 'boolean',
- default: false,
- description: 'Whether to include sticker models with the response.',
- },
- {
- displayName: 'Sticker Fields',
- name: 'sticker_fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of sticker fields.',
- },
- ],
- },
-
- // ----------------------------------
- // card:update
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'update',
- ],
- resource: [
- 'card',
- ],
- },
- },
- description: 'The ID of the card to update.',
- },
- {
- displayName: 'Update Fields',
- name: 'updateFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'update',
- ],
- resource: [
- 'card',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Attachment Cover',
- name: 'idAttachmentCover',
- type: 'string',
- default: '',
- description: 'The ID of the image attachment the card should use as its cover, or null for none.',
- },
- {
- displayName: 'Board ID',
- name: 'idBoard',
- type: 'string',
- default: '',
- description: 'The ID of the board the card should be on.',
- },
- {
- displayName: 'Closed',
- name: 'closed',
- type: 'boolean',
- default: false,
- description: 'Whether the board is closed.',
- },
- {
- displayName: 'Description',
- name: 'desc',
- type: 'string',
- default: '',
- description: 'New description of the board.',
- },
- {
- displayName: 'Due Date',
- name: 'due',
- type: 'dateTime',
- default: '',
- description: 'A due date for the card.',
- },
- {
- displayName: 'Due Complete',
- name: 'dueComplete',
- type: 'boolean',
- default: false,
- description: 'If the card is completed.',
- },
- {
- displayName: 'Label IDs',
- name: 'idLabels',
- type: 'string',
- default: '',
- description: 'Comma-separated list of label IDs to set on card.',
- },
- {
- displayName: 'List ID',
- name: 'idList',
- type: 'string',
- default: '',
- description: 'The ID of the list the card should be in.',
- },
- {
- displayName: 'Member IDs',
- name: 'idMembers',
- type: 'string',
- default: '',
- description: 'Comma-separated list of member IDs to set on card.',
- },
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- description: 'New name of the board',
- },
- {
- displayName: 'Position',
- name: 'pos',
- type: 'string',
- default: 'bottom',
- description: 'The position of the card. top, bottom, or a positive float.',
- },
- {
- displayName: 'Subscribed',
- name: 'subscribed',
- type: 'boolean',
- default: false,
- description: 'Whether the acting user is subscribed to the board.',
- },
- ],
- },
-
-
-
- // ----------------------------------
- // list
- // ----------------------------------
- {
- displayName: 'Operation',
- name: 'operation',
- type: 'options',
- displayOptions: {
- show: {
- resource: [
- 'list',
- ],
- },
- },
- options: [
- {
- name: 'Archive',
- value: 'archive',
- description: 'Archive/Unarchive a list',
- },
- {
- name: 'Create',
- value: 'create',
- description: 'Create a new list',
- },
- {
- name: 'Get',
- value: 'get',
- description: 'Get the data of a list',
- },
- {
- name: 'Update',
- value: 'update',
- description: 'Update a list',
- },
- ],
- default: 'create',
- description: 'The operation to perform.',
- },
-
- // ----------------------------------
- // list:archive
- // ----------------------------------
- {
- displayName: 'List ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'archive',
- ],
- resource: [
- 'list',
- ],
- },
- },
- description: 'The ID of the list to archive or unarchive.',
- },
- {
- displayName: 'Archive',
- name: 'archive',
- type: 'boolean',
- default: false,
- displayOptions: {
- show: {
- operation: [
- 'archive',
- ],
- resource: [
- 'list',
- ],
- },
- },
- description: 'If the list should be archived or unarchived.',
- },
-
- // ----------------------------------
- // list:create
- // ----------------------------------
- {
- displayName: 'Board ID',
- name: 'idBoard',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'list',
- ],
- },
- },
- description: 'The ID of the board the list should be created in',
- },
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- placeholder: 'My list',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'list',
- ],
- },
- },
- description: 'The name of the list',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'list',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'List Source',
- name: 'idListSource',
- type: 'string',
- default: '',
- description: 'ID of the list to copy into the new list.',
- },
- {
- displayName: 'Position',
- name: 'pos',
- type: 'string',
- default: 'bottom',
- description: 'The position of the new list. top, bottom, or a positive float.',
- },
- ],
- },
-
- // ----------------------------------
- // list:get
- // ----------------------------------
- {
- displayName: 'List ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'list',
- ],
- },
- },
- description: 'The ID of the list to get.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'list',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of fields.',
- },
- ],
- },
-
- // ----------------------------------
- // list:update
- // ----------------------------------
- {
- displayName: 'List ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'update',
- ],
- resource: [
- 'list',
- ],
- },
- },
- description: 'The ID of the list to update.',
- },
- {
- displayName: 'Update Fields',
- name: 'updateFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'update',
- ],
- resource: [
- 'list',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Board ID',
- name: 'idBoard',
- type: 'string',
- default: '',
- description: 'ID of a board the list should be moved to.',
- },
- {
- displayName: 'Closed',
- name: 'closed',
- type: 'boolean',
- default: false,
- description: 'Whether the list is closed.',
- },
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- description: 'New name of the list',
- },
- {
- displayName: 'Position',
- name: 'pos',
- type: 'string',
- default: 'bottom',
- description: 'The position of the list. top, bottom, or a positive float.',
- },
- {
- displayName: 'Subscribed',
- name: 'subscribed',
- type: 'boolean',
- default: false,
- description: 'Whether the acting user is subscribed to the list.',
- },
- ],
- },
-
- // ----------------------------------
- // attachment
- // ----------------------------------
- {
- displayName: 'Operation',
- name: 'operation',
- type: 'options',
- displayOptions: {
- show: {
- resource: [
- 'attachment',
- ],
- },
- },
- options: [
- {
- name: 'Create',
- value: 'create',
- description: 'Create a new attachment for a card',
- },
- {
- name: 'Delete',
- value: 'delete',
- description: 'Delete an attachment',
- },
- {
- name: 'Get',
- value: 'get',
- description: 'Get the data of an attachments',
- },
- {
- name: 'Get All',
- value: 'getAll',
- description: 'Returns all attachments for the card',
- }
- ],
- default: 'getAll',
- description: 'The operation to perform.',
- },
-
- // ----------------------------------
- // attachment:create
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- description: 'The ID of the card to add attachment to.',
- },
- {
- displayName: 'Source URL',
- name: 'url',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- description: 'The URL of the attachment to add.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'MIME Type',
- name: 'mimeType',
- type: 'string',
- default: '',
- placeholder: 'image/png',
- description: 'The MIME type of the attachment to add.',
- },
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- description: 'The name of the attachment to add.',
- },
- ],
- },
-
- // ----------------------------------
- // attachment:delete
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'delete',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- description: 'The ID of the card that attachment belongs to.',
- },
- {
- displayName: 'Attachment ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'delete',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- description: 'The ID of the attachment to delete.',
- },
-
- // ----------------------------------
- // attachment:getAll
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'getAll',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- description: 'The ID of the card to get attachments.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'getAll',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of fields.',
- },
- ],
- },
-
- // ----------------------------------
- // attachment:get
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- description: 'The ID of the card to get attachment.',
- },
- {
- displayName: 'Attachment ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- description: 'The ID of the attachment to get.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'attachment',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of fields.',
- },
- ],
- },
-
- // ----------------------------------
- // checklist
- // ----------------------------------
- {
- displayName: 'Operation',
- name: 'operation',
- type: 'options',
- displayOptions: {
- show: {
- resource: [
- 'checklist',
- ],
- },
- },
- options: [
- {
- name: 'Create',
- value: 'create',
- description: 'Create a new checklist',
- },
- {
- name: 'Delete',
- value: 'delete',
- description: 'Delete a checklist',
- },
- {
- name: 'Delete Checklist Item',
- value: 'deleteCheckItem',
- description: 'Delete a checklist item',
- },
- {
- name: 'Get',
- value: 'get',
- description: 'Get the data of a checklist',
- },
- {
- name: 'Get All',
- value: 'getAll',
- description: 'Returns all checklists for the card',
- },
- {
- name: 'Get Checklist Items',
- value: 'getCheckItem',
- description: 'Get a specific Checklist on a card',
- },
- {
- name: 'Get Completed Checklist Items',
- value: 'completedCheckItems',
- description: 'Get the completed Checklist items on a card',
- },
- {
- name: 'Update Checklist Item',
- value: 'updateCheckItem',
- description: 'Update an item in a checklist on a card.',
- },
- ],
- default: 'getAll',
- description: 'The operation to perform.',
- },
-
- // ----------------------------------
- // checklist:create
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the card to add checklist to.',
- },
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The URL of the checklist to add.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Id Of Checklist Source',
- name: 'idChecklistSource',
- type: 'string',
- default: '',
- description: 'The ID of a source checklist to copy into the new one.',
- },
- {
- displayName: 'Position',
- name: 'pos',
- type: 'string',
- default: '',
- description: 'The position of the checklist on the card. One of: top, bottom, or a positive number.',
- },
- ],
- },
-
- // ----------------------------------
- // checklist:delete
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'delete',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the card that checklist belongs to.',
- },
- {
- displayName: 'Checklist ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'delete',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the checklist to delete.',
- },
-
-
- // ----------------------------------
- // checklist:getAll
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'getAll',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the card to get checklists.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'getAll',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of fields.',
- },
- ],
- },
-
- // ----------------------------------
- // checklist:get
- // ----------------------------------
- {
- displayName: 'Checklist ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the checklist to get.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of fields.',
- },
- ],
- },
-
- // ----------------------------------
- // checklist:deleteCheckItem
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'deleteCheckItem',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the card that checklist belongs to.',
- },
- {
- displayName: 'CheckItem ID',
- name: 'checkItemId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'deleteCheckItem',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the checklist item to delete.',
- },
-
- // ----------------------------------
- // checklist:getCheckItem
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'getCheckItem',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the card that checklist belongs to.',
- },
- {
- displayName: 'CheckItem ID',
- name: 'checkItemId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'getCheckItem',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the checklist item to get.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'getCheckItem',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of fields.',
- },
- ],
- },
-
- // ----------------------------------
- // checklist:updateCheckItem
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'updateCheckItem',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the card that checklist belongs to.',
- },
- {
- displayName: 'CheckItem ID',
- name: 'checkItemId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'updateCheckItem',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the checklist item to update.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'updateCheckItem',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- description: 'The new name for the checklist item.',
- },
- {
- displayName: 'State',
- name: 'state',
- type: 'options',
- options: [
- {
- name: 'complete',
- value: 'complete'
- },
- {
- name: 'incomplete',
- value: 'incomplete',
- },
- ],
- default: 'complete',
- description: 'The resource to operate on.',
- },
- {
- displayName: 'Checklist ID',
- name: 'checklistId',
- type: 'string',
- default: '',
- description: 'The ID of the checklist this item is in',
- },
- {
- displayName: 'Position',
- name: 'pos',
- type: 'string',
- default: '',
- description: 'The position of the checklist on the card. One of: top, bottom, or a positive number.',
- },
- ],
- },
-
- // ----------------------------------
- // checklist:completedCheckItems
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'completedCheckItems',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- description: 'The ID of the card for checkItems.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'completedCheckItems',
- ],
- resource: [
- 'checklist',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of: "idCheckItem", "state".',
- },
- ],
- },
-
- // ----------------------------------
- // label
- // ----------------------------------
- {
- displayName: 'Operation',
- name: 'operation',
- type: 'options',
- displayOptions: {
- show: {
- resource: [
- 'label',
- ],
- },
- },
- options: [
- {
- name: 'Add to Card',
- value: 'addLabel',
- description: 'Add a label to a card.',
- },
- {
- name: 'Create',
- value: 'create',
- description: 'Create a new label',
- },
- {
- name: 'Delete',
- value: 'delete',
- description: 'Delete a label',
- },
- {
- name: 'Get',
- value: 'get',
- description: 'Get the data of a label',
- },
- {
- name: 'Get All',
- value: 'getAll',
- description: 'Returns all label for the board',
- },
- {
- name: 'Remove From Card',
- value: 'removeLabel',
- description: 'Remove a label from a card.',
- },
- {
- name: 'Update',
- value: 'update',
- description: 'Update a label.',
- }
-
- ],
- default: 'getAll',
- description: 'The operation to perform.',
- },
-
- // ----------------------------------
- // label:create
- // ----------------------------------
- {
- displayName: 'Board ID',
- name: 'boardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'The ID of the board to create the label on.',
- },
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'Name for the label.',
- },
- {
- displayName: 'Color',
- name: 'color',
- type: 'options',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'create',
- ],
- resource: [
- 'label',
- ],
- },
- },
- options: [
- {
- name: 'black',
- value: 'black',
- },
- {
- name: 'blue',
- value: 'blue',
- },
- {
- name: 'green',
- value: 'green'
- },
- {
- name: 'orange',
- value: 'orange',
- },
- {
- name: 'lime',
- value: 'lime',
- },
- {
- name: 'null',
- value: 'null',
- },
- {
- name: 'pink',
- value: 'pink',
- },
- {
- name: 'purple',
- value: 'purple',
- },
- {
- name: 'red',
- value: 'red',
- },
- {
- name: 'sky',
- value: 'sky',
- },
- {
- name: 'yellow',
- value: 'yellow'
- },
- ],
- default: 'null',
- description: 'The color for the label.',
- },
-
-
- // ----------------------------------
- // label:delete
- // ----------------------------------
- {
- displayName: 'Label ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'delete',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'The ID of the label to delete.',
- },
-
- // ----------------------------------
- // label:getAll
- // ----------------------------------
- {
- displayName: 'Board ID',
- name: 'boardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'getAll',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'The ID of the board to get label.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'getAll',
- ],
- resource: [
- 'label',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of fields.',
- },
- ],
- },
-
- // ----------------------------------
- // label:get
- // ----------------------------------
- {
- displayName: 'Label ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'Get information about a label by ID.',
- },
- {
- displayName: 'Additional Fields',
- name: 'additionalFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'get',
- ],
- resource: [
- 'label',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Fields',
- name: 'fields',
- type: 'string',
- default: 'all',
- description: 'Fields to return. Either "all" or a comma-separated list of fields.',
- },
- ],
- },
-
- // ----------------------------------
- // label:addLabel
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'addLabel',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'The ID of the card to get label.',
- },
- {
- displayName: 'Label ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'addLabel',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'The ID of the label to add.',
- },
-
- // ----------------------------------
- // label:removeLabel
- // ----------------------------------
- {
- displayName: 'Card ID',
- name: 'cardId',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'removeLabel',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'The ID of the card to remove label from.',
- },
- {
- displayName: 'Label ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'removeLabel',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'The ID of the label to remove.',
- },
-
- // ----------------------------------
- // label:update
- // ----------------------------------
- {
- displayName: 'Label ID',
- name: 'id',
- type: 'string',
- default: '',
- required: true,
- displayOptions: {
- show: {
- operation: [
- 'update',
- ],
- resource: [
- 'label',
- ],
- },
- },
- description: 'The ID of the label to update.',
- },
- {
- displayName: 'Update Fields',
- name: 'updateFields',
- type: 'collection',
- placeholder: 'Add Field',
- displayOptions: {
- show: {
- operation: [
- 'update',
- ],
- resource: [
- 'label',
- ],
- },
- },
- default: {},
- options: [
- {
- displayName: 'Name',
- name: 'name',
- type: 'string',
- default: '',
- description: 'Name of the label.',
- },
- {
- displayName: 'Color',
- name: 'color',
- type: 'options',
- options: [
- {
- name: 'black',
- value: 'black',
- },
- {
- name: 'blue',
- value: 'blue',
- },
- {
- name: 'green',
- value: 'green'
- },
- {
- name: 'orange',
- value: 'orange',
- },
- {
- name: 'lime',
- value: 'lime',
- },
- {
- name: 'null',
- value: 'null',
- },
- {
- name: 'pink',
- value: 'pink',
- },
- {
- name: 'purple',
- value: 'purple',
- },
- {
- name: 'red',
- value: 'red',
- },
- {
- name: 'sky',
- value: 'sky',
- },
- {
- name: 'yellow',
- value: 'yellow'
- },
- ],
- default: 'null',
- description: 'The color for the label.',
- },
- ],
- },
],
};