-
Notifications
You must be signed in to change notification settings - Fork 49.1k
chore: NODE-3837 - Generate Schema Files (no-changelog) #21455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this 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 "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.</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 "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.</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 |
There was a problem hiding this comment.
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 @@
}
},
- "version": 3
+ "version": 4
}
</file context>
| @@ -0,0 +1,18 @@ | |||
| { | |||
| "type": "object", | |||
| "properties": { | |||
There was a problem hiding this comment.
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 "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.</comment>
<file context>
@@ -0,0 +1,18 @@
+{
+ "type": "object",
+ "properties": {
+ "isDeleted": {
+ "type": "boolean"
</file context>
| "type": "string" | ||
| }, | ||
| "names": { | ||
| "phoneNumbers": { |
There was a problem hiding this comment.
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 @@
"type": "string"
},
- "names": {
+ "phoneNumbers": {
"type": "object",
"properties": {
</file context>
| } | ||
| }, | ||
| "version": 1 | ||
| "version": 2 |
There was a problem hiding this comment.
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 @@
}
},
- "version": 1
+ "version": 2
}
</file context>
| }, | ||
| "id": { | ||
| "type": "string" | ||
| "isInline": { |
There was a problem hiding this comment.
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 "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.</comment>
<file context>
@@ -10,8 +10,8 @@
},
- "id": {
- "type": "string"
+ "isInline": {
+ "type": "boolean"
},
</file context>
| "type": "boolean" | ||
| }, | ||
| "likes": { | ||
| "type": "null" |
There was a problem hiding this comment.
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 @@
"type": "boolean"
},
+ "likes": {
+ "type": "null"
+ },
"link_flair_richtext": {
</file context>
| "type": "boolean" | ||
| }, | ||
| "Jigsaw": { | ||
| "type": "null" |
There was a problem hiding this comment.
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 @@
+ "type": "boolean"
+ },
+ "Jigsaw": {
+ "type": "null"
+ },
+ "JigsawCompanyId": {
</file context>
| "type": "boolean" | ||
| }, | ||
| "Jigsaw": { | ||
| "type": "null" |
There was a problem hiding this comment.
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 @@
+ "type": "boolean"
+ },
+ "Jigsaw": {
+ "type": "null"
+ },
+ "JigsawCompanyId": {
</file context>
| "type": "boolean" | ||
| }, | ||
| "Jigsaw": { | ||
| "type": "null" |
There was a problem hiding this comment.
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 @@
+ "type": "boolean"
+ },
+ "Jigsaw": {
+ "type": "null"
+ },
+ "JigsawCompanyId": {
</file context>
| "type": "boolean" | ||
| }, | ||
| "Jigsaw": { | ||
| "type": "null" |
There was a problem hiding this comment.
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 @@
+ "type": "boolean"
+ },
+ "Jigsaw": {
+ "type": "null"
+ },
+ "JigsawCompanyId": {
</file context>
No description provided.