Skip to content

Conversation

@Joffcom
Copy link
Member

@Joffcom Joffcom commented Nov 1, 2025

No description provided.

@Joffcom Joffcom requested a review from elsmr November 1, 2025 03:36
@n8n-assistant n8n-assistant bot added n8n team Authored by the n8n team node/improvement New feature or request labels Nov 1, 2025
@codecov
Copy link

codecov bot commented Nov 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

23 issues found across 115 files

Prompt for AI agents (all 23 issues)

Understand the root cause of the following 23 issues and fix them.


<file name="packages/nodes-base/nodes/Brevo/__schema__/v1.0.0/contact/getAll.json">

<violation number="1" location="packages/nodes-base/nodes/Brevo/__schema__/v1.0.0/contact/getAll.json:32">
Bumping the schema to version 4 without the attributes object makes this response definition inaccurate—the Brevo contacts API still returns `attributes` with custom fields (e.g., FIRSTNAME), so users lose those properties for autocompletion/validation. Please reinstate the `attributes` object in this schema before versioning it.</violation>
</file>

<file name="packages/nodes-base/nodes/Hubspot/__schema__/v2.2.0/ticket/getAll.json">

<violation number="1" location="packages/nodes-base/nodes/Hubspot/__schema__/v2.2.0/ticket/getAll.json:3">
This schema now omits the ticket &quot;properties&quot; object (subject, values, versions, etc.), so the node will no longer expose the actual ticket data returned by HubSpot. Please keep the properties object in the schema to match the API response.</violation>
</file>

<file name="packages/nodes-base/nodes/Google/Contacts/__schema__/v1.0.0/contact/get.json">

<violation number="1" location="packages/nodes-base/nodes/Google/Contacts/__schema__/v1.0.0/contact/get.json:10">
Reintroduce the `names` property in the get schema instead of replacing it with the mis-modeled `phoneNumbers`; the current change removes a documented field and describes `phoneNumbers` with the wrong shape, breaking consumers that rely on the contact name.</violation>
</file>

<file name="packages/nodes-base/nodes/Wordpress/__schema__/v1.0.0/post/create.json">

<violation number="1" location="packages/nodes-base/nodes/Wordpress/__schema__/v1.0.0/post/create.json:356">
The updated schema version drops the `link` property from the post response, but WordPress still returns that field. Please keep `link` in the schema so the generated metadata matches the API response.</violation>
</file>

<file name="packages/nodes-base/nodes/Microsoft/Outlook/__schema__/v2.0.0/messageAttachment/download.json">

<violation number="1" location="packages/nodes-base/nodes/Microsoft/Outlook/__schema__/v2.0.0/messageAttachment/download.json:13">
Replacing the attachment &quot;id&quot; definition with &quot;isInline&quot; removes the ID field from this schema, so generated typings/validations will lose access to the attachment identifier that Microsoft Graph always returns. Please keep the existing &quot;id&quot; property and add &quot;isInline&quot; alongside it.</violation>
</file>

<file name="packages/nodes-base/nodes/Microsoft/ToDo/__schema__/v1.0.0/task/getAll.json">

<violation number="1" location="packages/nodes-base/nodes/Microsoft/ToDo/__schema__/v1.0.0/task/getAll.json:22">
Please allow `dueDateTime` to accept `null`, since Microsoft Graph often returns `dueDateTime: null` for tasks without a due date; otherwise valid responses will fail schema validation.</violation>
</file>

<file name="packages/nodes-base/nodes/Google/GSuiteAdmin/__schema__/v1.0.0/group/create.json">

<violation number="1" location="packages/nodes-base/nodes/Google/GSuiteAdmin/__schema__/v1.0.0/group/create.json:10">
Mark the email property as required in the create schema so the UI prevents submissions without it, matching the Directory API contract.</violation>
</file>

<file name="packages/nodes-base/nodes/Slack/__schema__/v2.3.0/channel/history.json">

<violation number="1" location="packages/nodes-base/nodes/Slack/__schema__/v2.3.0/channel/history.json:43">
Replacing the bot_id property with a second client_msg_id entry drops bot_id from the generated schema, omitting a field the Slack API still returns for bot messages. Please restore bot_id while adding subtype so the schema remains accurate.</violation>
</file>

<file name="packages/nodes-base/nodes/Microsoft/Entra/__schema__/v1.0.0/user/create.json">

<violation number="1" location="packages/nodes-base/nodes/Microsoft/Entra/__schema__/v1.0.0/user/create.json:26">
Removing the `department` property from the create schema means user-create requests can no longer set `department`, even though Microsoft Graph still supports it. This regresses functionality; please keep the property in the create schema.</violation>
</file>

<file name="packages/nodes-base/nodes/Google/YouTube/__schema__/v1.0.0/video/get.json">

<violation number="1" location="packages/nodes-base/nodes/Google/YouTube/__schema__/v1.0.0/video/get.json:225">
Dropping the `topicDetails` object from the video schema removes a field that the node still requests and the API still returns. The schema will now fail to describe that response portion, so the output loses the topic details metadata. Please keep the `topicDetails` definition in this schema.</violation>
</file>

<file name="packages/nodes-base/nodes/Jira/__schema__/v1.0.0/issue/get.json">

<violation number="1" location="packages/nodes-base/nodes/Jira/__schema__/v1.0.0/issue/get.json:22">
The Jira issue comment body is returned as an Atlassian Document object, not a plain string, so this schema now misrepresents the response shape. Please change the type to object to match the actual API response.</violation>
</file>

<file name="packages/nodes-base/nodes/Telegram/__schema__/v1.2.0/message/sendPhoto.json">

<violation number="1" location="packages/nodes-base/nodes/Telegram/__schema__/v1.2.0/message/sendPhoto.json:76">
Version 6 drops the documented `result.caption` field even though Telegram sendPhoto responses still return it, so this schema version is now incorrect—please restore the caption property before bumping the version.</violation>
</file>

<file name="packages/nodes-base/nodes/Todoist/__schema__/v2.1.0/project/getAll.json">

<violation number="1" location="packages/nodes-base/nodes/Todoist/__schema__/v2.1.0/project/getAll.json:3">
Todoist project responses include a `parent_id` field (string or null). Please add `parent_id` to this schema so parent-child relationships are preserved in generated types.</violation>
</file>

<file name="packages/nodes-base/nodes/Shopify/__schema__/v1.0.0/order/getAll.json">

<violation number="1" location="packages/nodes-base/nodes/Shopify/__schema__/v1.0.0/order/getAll.json:11">
Version 7 of this schema now only exposes `created_at` and `id`, so order `line_items` and the rest of the response fields disappeared from the output metadata. Please restore the full order schema before shipping this version bump.</violation>
</file>

<file name="packages/nodes-base/nodes/Google/Calendar/__schema__/v1.3.0/event/create.json">

<violation number="1" location="packages/nodes-base/nodes/Google/Calendar/__schema__/v1.3.0/event/create.json:90">
Removing the `description` field from the Google Calendar event schema means responses with a description will no longer conform to this schema. Please restore the `description` property so the schema continues to match the API response.</violation>
</file>

<file name="packages/nodes-base/nodes/Aws/IAM/__schema__/v1.0.0/user/getAll.json">

<violation number="1" location="packages/nodes-base/nodes/Aws/IAM/__schema__/v1.0.0/user/getAll.json:8">
CreateDate is returned as an ISO-8601 string in AWS IAM responses, so requiring an integer here will break validation against real data.</violation>

<violation number="2" location="packages/nodes-base/nodes/Aws/IAM/__schema__/v1.0.0/user/getAll.json:14">
IAM user Tags are returned as arrays of tag objects, not just null, so this schema change rejects valid responses.</violation>

<violation number="3" location="packages/nodes-base/nodes/Aws/IAM/__schema__/v1.0.0/user/getAll.json:14">
PermissionsBoundary can contain an AttachedPermissionsBoundary object in real IAM responses; limiting the schema to null will invalidate those results.</violation>
</file>

<file name="packages/nodes-base/nodes/Reddit/__schema__/v1.0.0/post/getAll.json">

<violation number="1" location="packages/nodes-base/nodes/Reddit/__schema__/v1.0.0/post/getAll.json:118">
`likes` can be either `true`, `false`, or `null` in Reddit post data. Restricting this field to `null` only will cause valid responses with boolean values to fail schema validation.</violation>
</file>

<file name="packages/nodes-base/nodes/Salesforce/__schema__/v1.0.0/account/get.json">

<violation number="1" location="packages/nodes-base/nodes/Salesforce/__schema__/v1.0.0/account/get.json:28">
SicDesc is a textual field in Salesforce; making the schema null-only would reject responses where it contains a description.</violation>

<violation number="2" location="packages/nodes-base/nodes/Salesforce/__schema__/v1.0.0/account/get.json:28">
MasterRecordId is a lookup that returns a string ID when present; restricting it to null will break validation for merged accounts.</violation>

<violation number="3" location="packages/nodes-base/nodes/Salesforce/__schema__/v1.0.0/account/get.json:28">
Account.JigsawCompanyId can contain a Data.com company ID string, so the schema needs to permit string values instead of forcing null-only.</violation>

<violation number="4" location="packages/nodes-base/nodes/Salesforce/__schema__/v1.0.0/account/get.json:28">
Account.Jigsaw is a text field that returns a string when populated, so the schema must allow both string and null; restricting it to null will reject valid Salesforce responses.</violation>
</file>

React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.

}
},
"version": 3
"version": 4
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bumping the schema to version 4 without the attributes object makes this response definition inaccurate—the Brevo contacts API still returns attributes with custom fields (e.g., FIRSTNAME), so users lose those properties for autocompletion/validation. Please reinstate the attributes object in this schema before versioning it.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Brevo/__schema__/v1.0.0/contact/getAll.json at line 32:

<comment>Bumping the schema to version 4 without the attributes object makes this response definition inaccurate—the Brevo contacts API still returns `attributes` with custom fields (e.g., FIRSTNAME), so users lose those properties for autocompletion/validation. Please reinstate the `attributes` object in this schema before versioning it.</comment>

<file context>
@@ -37,5 +29,5 @@
         }
     },
-    &quot;version&quot;: 3
+    &quot;version&quot;: 4
 }
</file context>
Fix with Cubic

@@ -0,0 +1,18 @@
{
"type": "object",
"properties": {
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This schema now omits the ticket "properties" object (subject, values, versions, etc.), so the node will no longer expose the actual ticket data returned by HubSpot. Please keep the properties object in the schema to match the API response.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Hubspot/__schema__/v2.2.0/ticket/getAll.json at line 3:

<comment>This schema now omits the ticket &quot;properties&quot; object (subject, values, versions, etc.), so the node will no longer expose the actual ticket data returned by HubSpot. Please keep the properties object in the schema to match the API response.</comment>

<file context>
@@ -0,0 +1,18 @@
+{
+    &quot;type&quot;: &quot;object&quot;,
+    &quot;properties&quot;: {
+        &quot;isDeleted&quot;: {
+            &quot;type&quot;: &quot;boolean&quot;
</file context>
Fix with Cubic

"type": "string"
},
"names": {
"phoneNumbers": {
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reintroduce the names property in the get schema instead of replacing it with the mis-modeled phoneNumbers; the current change removes a documented field and describes phoneNumbers with the wrong shape, breaking consumers that rely on the contact name.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Google/Contacts/__schema__/v1.0.0/contact/get.json at line 10:

<comment>Reintroduce the `names` property in the get schema instead of replacing it with the mis-modeled `phoneNumbers`; the current change removes a documented field and describes `phoneNumbers` with the wrong shape, breaking consumers that rely on the contact name.</comment>

<file context>
@@ -7,29 +7,20 @@
             &quot;type&quot;: &quot;string&quot;
         },
-        &quot;names&quot;: {
+        &quot;phoneNumbers&quot;: {
             &quot;type&quot;: &quot;object&quot;,
             &quot;properties&quot;: {
</file context>
Fix with Cubic

}
},
"version": 1
"version": 2
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The updated schema version drops the link property from the post response, but WordPress still returns that field. Please keep link in the schema so the generated metadata matches the API response.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Wordpress/__schema__/v1.0.0/post/create.json at line 356:

<comment>The updated schema version drops the `link` property from the post response, but WordPress still returns that field. Please keep `link` in the schema so the generated metadata matches the API response.</comment>

<file context>
@@ -356,5 +353,5 @@
         }
     },
-    &quot;version&quot;: 1
+    &quot;version&quot;: 2
 }
</file context>
Fix with Cubic

},
"id": {
"type": "string"
"isInline": {
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replacing the attachment "id" definition with "isInline" removes the ID field from this schema, so generated typings/validations will lose access to the attachment identifier that Microsoft Graph always returns. Please keep the existing "id" property and add "isInline" alongside it.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Microsoft/Outlook/__schema__/v2.0.0/messageAttachment/download.json at line 13:

<comment>Replacing the attachment &quot;id&quot; definition with &quot;isInline&quot; removes the ID field from this schema, so generated typings/validations will lose access to the attachment identifier that Microsoft Graph always returns. Please keep the existing &quot;id&quot; property and add &quot;isInline&quot; alongside it.</comment>

<file context>
@@ -10,8 +10,8 @@
         },
-        &quot;id&quot;: {
-            &quot;type&quot;: &quot;string&quot;
+        &quot;isInline&quot;: {
+            &quot;type&quot;: &quot;boolean&quot;
         },
</file context>
Fix with Cubic

"type": "boolean"
},
"likes": {
"type": "null"
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

likes can be either true, false, or null in Reddit post data. Restricting this field to null only will cause valid responses with boolean values to fail schema validation.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Reddit/__schema__/v1.0.0/post/getAll.json at line 118:

<comment>`likes` can be either `true`, `false`, or `null` in Reddit post data. Restricting this field to `null` only will cause valid responses with boolean values to fail schema validation.</comment>

<file context>
@@ -123,6 +114,9 @@
             &quot;type&quot;: &quot;boolean&quot;
         },
+        &quot;likes&quot;: {
+            &quot;type&quot;: &quot;null&quot;
+        },
         &quot;link_flair_richtext&quot;: {
</file context>
Fix with Cubic

"type": "boolean"
},
"Jigsaw": {
"type": "null"
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SicDesc is a textual field in Salesforce; making the schema null-only would reject responses where it contains a description.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Salesforce/__schema__/v1.0.0/account/get.json at line 28:

<comment>SicDesc is a textual field in Salesforce; making the schema null-only would reject responses where it contains a description.</comment>

<file context>
@@ -1,9 +1,56 @@
+            &quot;type&quot;: &quot;boolean&quot;
+        },
+        &quot;Jigsaw&quot;: {
+            &quot;type&quot;: &quot;null&quot;
+        },
+        &quot;JigsawCompanyId&quot;: {
</file context>
Fix with Cubic

"type": "boolean"
},
"Jigsaw": {
"type": "null"
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MasterRecordId is a lookup that returns a string ID when present; restricting it to null will break validation for merged accounts.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Salesforce/__schema__/v1.0.0/account/get.json at line 28:

<comment>MasterRecordId is a lookup that returns a string ID when present; restricting it to null will break validation for merged accounts.</comment>

<file context>
@@ -1,9 +1,56 @@
+            &quot;type&quot;: &quot;boolean&quot;
+        },
+        &quot;Jigsaw&quot;: {
+            &quot;type&quot;: &quot;null&quot;
+        },
+        &quot;JigsawCompanyId&quot;: {
</file context>
Fix with Cubic

"type": "boolean"
},
"Jigsaw": {
"type": "null"
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Account.JigsawCompanyId can contain a Data.com company ID string, so the schema needs to permit string values instead of forcing null-only.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Salesforce/__schema__/v1.0.0/account/get.json at line 28:

<comment>Account.JigsawCompanyId can contain a Data.com company ID string, so the schema needs to permit string values instead of forcing null-only.</comment>

<file context>
@@ -1,9 +1,56 @@
+            &quot;type&quot;: &quot;boolean&quot;
+        },
+        &quot;Jigsaw&quot;: {
+            &quot;type&quot;: &quot;null&quot;
+        },
+        &quot;JigsawCompanyId&quot;: {
</file context>
Fix with Cubic

"type": "boolean"
},
"Jigsaw": {
"type": "null"
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Account.Jigsaw is a text field that returns a string when populated, so the schema must allow both string and null; restricting it to null will reject valid Salesforce responses.

Prompt for AI agents
Address the following comment on packages/nodes-base/nodes/Salesforce/__schema__/v1.0.0/account/get.json at line 28:

<comment>Account.Jigsaw is a text field that returns a string when populated, so the schema must allow both string and null; restricting it to null will reject valid Salesforce responses.</comment>

<file context>
@@ -1,9 +1,56 @@
+            &quot;type&quot;: &quot;boolean&quot;
+        },
+        &quot;Jigsaw&quot;: {
+            &quot;type&quot;: &quot;null&quot;
+        },
+        &quot;JigsawCompanyId&quot;: {
</file context>
Fix with Cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

n8n team Authored by the n8n team node/improvement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants