From 81ee1fdfb63a216356b85ff80b5171a1bd4fc20f Mon Sep 17 00:00:00 2001 From: Michael Quinlan Date: Tue, 7 Sep 2021 18:16:31 -0600 Subject: [PATCH] Adding blocks to slack message update --- .../nodes/Slack/MessageDescription.ts | 23 ++++++++++++++++++- packages/nodes-base/nodes/Slack/Slack.node.ts | 7 ++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/packages/nodes-base/nodes/Slack/MessageDescription.ts b/packages/nodes-base/nodes/Slack/MessageDescription.ts index 6174f81dc9c5d..f8a1692adffc5 100644 --- a/packages/nodes-base/nodes/Slack/MessageDescription.ts +++ b/packages/nodes-base/nodes/Slack/MessageDescription.ts @@ -487,7 +487,7 @@ export const messageFields = [ displayName: 'Text', name: 'text', type: 'string', - required: true, + required: false, default: '', displayOptions: { show: { @@ -566,6 +566,27 @@ export const messageFields = [ }, ], }, + { + displayName: 'Blocks', + name: 'blocksJson', + type: 'json', + default: '', + required: false, + typeOptions: { + alwaysOpenEditWindow: true, + }, + displayOptions: { + show: { + resource: [ + 'message', + ], + operation: [ + 'update', + ] + }, + }, + description: 'The blocks to add', + }, { displayName: 'Blocks', name: 'blocksUi', diff --git a/packages/nodes-base/nodes/Slack/Slack.node.ts b/packages/nodes-base/nodes/Slack/Slack.node.ts index cd506473d194f..57a06b26639b6 100644 --- a/packages/nodes-base/nodes/Slack/Slack.node.ts +++ b/packages/nodes-base/nodes/Slack/Slack.node.ts @@ -843,7 +843,14 @@ export class Slack implements INodeType { } } body['attachments'] = attachments; + const blocksJson = this.getNodeParameter('blocksJson', i, []) as string; + if (blocksJson !== '' && validateJSON(blocksJson) === undefined) { + throw new NodeOperationError(this.getNode(), 'Blocks it is not a valid json'); + } + if (blocksJson !== '') { + body.blocks = blocksJson; + } // Add all the other options to the request const updateFields = this.getNodeParameter('updateFields', i) as IDataObject; Object.assign(body, updateFields);