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.', - }, - ], - }, ], };