Skip to content

fix(zendesk): modify body ticket comment as optional#21151

Merged
ashwins01 merged 8 commits into
PipedreamHQ:masterfrom
Christianlauw123:issue-21149-zendesk-update-ticket-action
Jun 25, 2026
Merged

fix(zendesk): modify body ticket comment as optional#21151
ashwins01 merged 8 commits into
PipedreamHQ:masterfrom
Christianlauw123:issue-21149-zendesk-update-ticket-action

Conversation

@Christianlauw123

@Christianlauw123 Christianlauw123 commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #21149

Changes

zendesk-app.mjs: Update the propDefinitions for ticketCommentBody. Add optional: true
update-ticket.mjs :

  • Updated the comment payload builder to make ticketCommentBody optional. If it is missing or falsy, the payload now safely defaults to an empty object {}.
  • Version bump 0.2.9 -> 0.2.10

package.json: Version bump 0.17.0 -> 0.17.1

References

Validation

pnpm eslint components/zendesk - passes clean
node --check - passes
node scripts/build-components.mjs components/zendesk - passes

Checklist

Please check the following items before your PR can be reviewed:

Versioning

  • All components updated in this PR had their version updated (0.0.1 for new ones)
  • The app updated in this PR had its package.json's version updated

New app

If this is a new app, please submit an app integration request - the PR will only be reviewed after the app is integrated.

  • The app updated in this PR is already integrated

CodeRabbit review

After the PR is opened, and if new changes are pushed, CodeRabbit will automatically review it. Do not 'mark as resolved' CodeRabbit's comments, but reply to them instead, whether you agree (and update the PR accordingly) or disagree.

  • I have addressed or acknowledged all of CodeRabbit's review comments

Summary by CodeRabbit

Summary by CodeRabbit

  • Bug Fixes

    • Improved Zendesk “Update Ticket” comment handling when the comment body is optional—empty comments are no longer sent, and comment visibility is set only when provided.
    • Adjusted the destructive warning hint to be non-destructive.
  • Updates

    • Updated Zendesk component and published action/source versions (including the Zendesk app) to the latest releases.
    • Marked the ticket comment body input as optional in the Zendesk configuration.

@vercel

vercel Bot commented Jun 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
pipedream-docs-redirect-do-not-edit Ignored Ignored Jun 25, 2026 3:03pm

Request Review

@pipedream-component-development

Copy link
Copy Markdown
Collaborator

Thank you so much for submitting this! We've added it to our backlog to review, and our team has been notified.

@pipedream-component-development

Copy link
Copy Markdown
Collaborator

Thanks for submitting this PR! When we review PRs, we follow the Pipedream component guidelines. If you're not familiar, here's a quick checklist:

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Update Zendesk component to 0.17.1 by making ticket comment body optional in the update-ticket action, conditionally including the comment body in the payload only when provided, and synchronizing version numbers across the component package and all 38 actions and sources.

Changes

Zendesk Component Version Update with Optional Comment Body

Layer / File(s) Summary
Optional comment body implementation
components/zendesk/zendesk.app.mjs, components/zendesk/actions/update-ticket/update-ticket.mjs
ticketCommentBody prop is now marked optional: true. The update-ticket action conditionally builds the comment payload as { body, public } when a body is provided, or as {} when not provided. Action version bumped from 0.2.9 to 0.2.10. Annotation destructiveHint changed from true to false.
Component and version synchronization
components/zendesk/package.json, components/zendesk/actions/*/...mjs (27 files), components/zendesk/sources/*/...mjs (11 files)
Component package version incremented from 0.17.0 to 0.17.1. All 27 action and 11 source manifest versions are incremented to stay synchronized with the component update.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • michelle0927
  • GTFalcao
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: making the ticket comment body optional in the Zendesk update-ticket action.
Description check ✅ Passed The PR description includes all required sections with complete information: summary of changes, specific file modifications, version bumps for both components and package, validation steps, and completed versioning checklist.
Linked Issues check ✅ Passed The PR successfully addresses the linked issue #21149 by making the ticket comment body optional through prop definition updates and conditional payload logic in update-ticket.mjs.
Out of Scope Changes check ✅ Passed All changes are directly related to the linked issue objective. Version bumps across 29 actions and 5 sources align with the update-ticket.mjs behavioral change and package version increment.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
components/zendesk/actions/update-ticket/update-ticket.mjs (1)

8-8: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Bump the action version for this behavior change.

run() behavior changed for comment payload construction (Line 137-146), but version remains 0.2.9 (Line 8). This should be a patch increment (e.g., 0.2.10) to satisfy component semver/versioning policy.

As per coding guidelines, component version must be incremented on every change, with patch bumps for non-breaking fixes.

Also applies to: 137-146

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zendesk/actions/update-ticket/update-ticket.mjs` at line 8, The
component version string was not updated after changing run()'s comment payload
construction; update the exported version value (currently "0.2.9") to a patch
bump like "0.2.10" to follow semver policy, and ensure the version change
accompanies the modified run() logic that builds the comment payload (refer to
the run function handling comment payload construction).

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@components/zendesk/actions/update-ticket/update-ticket.mjs`:
- Line 8: The component version string was not updated after changing run()'s
comment payload construction; update the exported version value (currently
"0.2.9") to a patch bump like "0.2.10" to follow semver policy, and ensure the
version change accompanies the modified run() logic that builds the comment
payload (refer to the run function handling comment payload construction).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 72521f4d-02e4-44c0-b634-a4b2603f8a97

📥 Commits

Reviewing files that changed from the base of the PR and between 8165bb3 and 47b4c97.

📒 Files selected for processing (3)
  • components/zendesk/actions/update-ticket/update-ticket.mjs
  • components/zendesk/package.json
  • components/zendesk/zendesk.app.mjs

@Christianlauw123 Christianlauw123 force-pushed the issue-21149-zendesk-update-ticket-action branch from 47b4c97 to 07b36db Compare June 12, 2026 16:00

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@components/zendesk/actions/update-ticket/update-ticket.mjs`:
- Line 10: The annotation for the "Update Ticket" action incorrectly marks it as
destructive; change annotations.destructiveHint from true to false in the
update-ticket action definition (look for the property destructiveHint in the
action metadata for UpdateTicket / update-ticket.mjs) so the action is not
treated as an irreversible destructive operation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c51eb199-429f-43e8-bc64-e148030e1ad0

📥 Commits

Reviewing files that changed from the base of the PR and between 47b4c97 and 07b36db.

📒 Files selected for processing (3)
  • components/zendesk/actions/update-ticket/update-ticket.mjs
  • components/zendesk/package.json
  • components/zendesk/zendesk.app.mjs

Comment thread components/zendesk/actions/update-ticket/update-ticket.mjs Outdated
@michelle0927 michelle0927 added the prioritized Prioritized issue label Jun 12, 2026

@ashwins01 ashwins01 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hi @Christianlauw123, thank you for your contribution! The PR looks functionally sound to me. But since this has changes in the zendesk.app.mjs file, it requires version updates across all other action/source files within the zendesk component. Please use the below command to update the versions.

Linux

sed -i 0,/0.0.12/{s/0.0.12/0.0.13/} components/zendesk/actions/add-ticket-tags/add-ticket-tags.mjs && sed -i 0,/0.1.16/{s/0.1.16/0.1.17/} components/zendesk/actions/create-ticket/create-ticket.mjs && sed -i 0,/0.1.16/{s/0.1.16/0.1.17/} components/zendesk/actions/delete-ticket/delete-ticket.mjs && sed -i 0,/0.0.6/{s/0.0.6/0.0.7/} components/zendesk/actions/get-article/get-article.mjs && sed -i 0,/0.0.6/{s/0.0.6/0.0.7/} components/zendesk/actions/get-macro/get-macro.mjs && sed -i 0,/0.0.2/{s/0.0.2/0.0.3/} components/zendesk/actions/get-side-conversation/get-side-conversation.mjs && sed -i 0,/0.0.14/{s/0.0.14/0.0.15/} components/zendesk/actions/get-ticket-info/get-ticket-info.mjs && sed -i 0,/0.0.11/{s/0.0.11/0.0.12/} components/zendesk/actions/get-user-info/get-user-info.mjs && sed -i 0,/0.0.6/{s/0.0.6/0.0.7/} components/zendesk/actions/list-active-macros/list-active-macros.mjs && sed -i 0,/0.0.7/{s/0.0.7/0.0.8/} components/zendesk/actions/list-articles/list-articles.mjs && sed -i 0,/0.0.3/{s/0.0.3/0.0.4/} components/zendesk/actions/list-fields-options/list-fields-options.mjs && sed -i 0,/0.0.11/{s/0.0.11/0.0.12/} components/zendesk/actions/list-locales/list-locales.mjs && sed -i 0,/0.0.4/{s/0.0.4/0.0.5/} components/zendesk/actions/list-macro-category-options/list-macro-category-options.mjs && sed -i 0,/0.0.11/{s/0.0.11/0.0.12/} components/zendesk/actions/list-macros/list-macros.mjs && sed -i 0,/0.0.2/{s/0.0.2/0.0.3/} components/zendesk/actions/list-side-conversations/list-side-conversations.mjs && sed -i 0,/0.0.11/{s/0.0.11/0.0.12/} components/zendesk/actions/list-ticket-comments/list-ticket-comments.mjs && sed -i 0,/0.0.14/{s/0.0.14/0.0.15/} components/zendesk/actions/list-tickets/list-tickets.mjs && sed -i 0,/0.0.12/{s/0.0.12/0.0.13/} components/zendesk/actions/remove-ticket-tags/remove-ticket-tags.mjs && sed -i 0,/0.0.4/{s/0.0.4/0.0.5/} components/zendesk/actions/search-articles/search-articles.mjs && sed -i 0,/0.0.4/{s/0.0.4/0.0.5/} components/zendesk/actions/search-community-posts/search-community-posts.mjs && sed -i 0,/0.0.4/{s/0.0.4/0.0.5/} components/zendesk/actions/search-help-center/search-help-center.mjs && sed -i 0,/0.0.5/{s/0.0.5/0.0.6/} components/zendesk/actions/search-macros/search-macros.mjs && sed -i 0,/0.0.15/{s/0.0.15/0.0.16/} components/zendesk/actions/search-tickets/search-tickets.mjs && sed -i 0,/0.0.9/{s/0.0.9/0.0.10/} components/zendesk/actions/set-custom-ticket-fields/set-custom-ticket-fields.mjs && sed -i 0,/0.0.12/{s/0.0.12/0.0.13/} components/zendesk/actions/set-ticket-tags/set-ticket-tags.mjs && sed -i 0,/0.0.1/{s/0.0.1/0.0.2/} components/zendesk/actions/upload-ticket-attachments/upload-ticket-attachments.mjs && sed -i 0,/0.0.10/{s/0.0.10/0.0.11/} components/zendesk/sources/locale-updated/locale-updated.mjs && sed -i 0,/0.0.3/{s/0.0.3/0.0.4/} components/zendesk/sources/new-side-conversation/new-side-conversation.mjs && sed -i 0,/0.0.3/{s/0.0.3/0.0.4/} components/zendesk/sources/new-side-conversation-reply/new-side-conversation-reply.mjs && sed -i 0,/0.2.15/{s/0.2.15/0.2.16/} components/zendesk/sources/new-ticket/new-ticket.mjs && sed -i 0,/0.1.7/{s/0.1.7/0.1.8/} components/zendesk/sources/new-ticket-comment-added/new-ticket-comment-added.mjs && sed -i 0,/0.0.15/{s/0.0.15/0.0.16/} components/zendesk/sources/ticket-added-to-view/ticket-added-to-view.mjs && sed -i 0,/0.2.15/{s/0.2.15/0.2.16/} components/zendesk/sources/ticket-closed/ticket-closed.mjs && sed -i 0,/0.2.15/{s/0.2.15/0.2.16/} components/zendesk/sources/ticket-pended/ticket-pended.mjs && sed -i 0,/0.2.15/{s/0.2.15/0.2.16/} components/zendesk/sources/ticket-solved/ticket-solved.mjs && sed -i 0,/0.2.15/{s/0.2.15/0.2.16/} components/zendesk/sources/ticket-updated/ticket-updated.mjs

MacOS

sed -i '' 's/0.0.12/0.0.13/' components/zendesk/actions/add-ticket-tags/add-ticket-tags.mjs && sed -i '' 's/0.1.16/0.1.17/' components/zendesk/actions/create-ticket/create-ticket.mjs && sed -i '' 's/0.1.16/0.1.17/' components/zendesk/actions/delete-ticket/delete-ticket.mjs && sed -i '' 's/0.0.6/0.0.7/' components/zendesk/actions/get-article/get-article.mjs && sed -i '' 's/0.0.6/0.0.7/' components/zendesk/actions/get-macro/get-macro.mjs && sed -i '' 's/0.0.2/0.0.3/' components/zendesk/actions/get-side-conversation/get-side-conversation.mjs && sed -i '' 's/0.0.14/0.0.15/' components/zendesk/actions/get-ticket-info/get-ticket-info.mjs && sed -i '' 's/0.0.11/0.0.12/' components/zendesk/actions/get-user-info/get-user-info.mjs && sed -i '' 's/0.0.6/0.0.7/' components/zendesk/actions/list-active-macros/list-active-macros.mjs && sed -i '' 's/0.0.7/0.0.8/' components/zendesk/actions/list-articles/list-articles.mjs && sed -i '' 's/0.0.3/0.0.4/' components/zendesk/actions/list-fields-options/list-fields-options.mjs && sed -i '' 's/0.0.11/0.0.12/' components/zendesk/actions/list-locales/list-locales.mjs && sed -i '' 's/0.0.4/0.0.5/' components/zendesk/actions/list-macro-category-options/list-macro-category-options.mjs && sed -i '' 's/0.0.11/0.0.12/' components/zendesk/actions/list-macros/list-macros.mjs && sed -i '' 's/0.0.2/0.0.3/' components/zendesk/actions/list-side-conversations/list-side-conversations.mjs && sed -i '' 's/0.0.11/0.0.12/' components/zendesk/actions/list-ticket-comments/list-ticket-comments.mjs && sed -i '' 's/0.0.14/0.0.15/' components/zendesk/actions/list-tickets/list-tickets.mjs && sed -i '' 's/0.0.12/0.0.13/' components/zendesk/actions/remove-ticket-tags/remove-ticket-tags.mjs && sed -i '' 's/0.0.4/0.0.5/' components/zendesk/actions/search-articles/search-articles.mjs && sed -i '' 's/0.0.4/0.0.5/' components/zendesk/actions/search-community-posts/search-community-posts.mjs && sed -i '' 's/0.0.4/0.0.5/' components/zendesk/actions/search-help-center/search-help-center.mjs && sed -i '' 's/0.0.5/0.0.6/' components/zendesk/actions/search-macros/search-macros.mjs && sed -i '' 's/0.0.15/0.0.16/' components/zendesk/actions/search-tickets/search-tickets.mjs && sed -i '' 's/0.0.9/0.0.10/' components/zendesk/actions/set-custom-ticket-fields/set-custom-ticket-fields.mjs && sed -i '' 's/0.0.12/0.0.13/' components/zendesk/actions/set-ticket-tags/set-ticket-tags.mjs && sed -i '' 's/0.0.1/0.0.2/' components/zendesk/actions/upload-ticket-attachments/upload-ticket-attachments.mjs && sed -i '' 's/0.0.10/0.0.11/' components/zendesk/sources/locale-updated/locale-updated.mjs && sed -i '' 's/0.0.3/0.0.4/' components/zendesk/sources/new-side-conversation/new-side-conversation.mjs && sed -i '' 's/0.0.3/0.0.4/' components/zendesk/sources/new-side-conversation-reply/new-side-conversation-reply.mjs && sed -i '' 's/0.2.15/0.2.16/' components/zendesk/sources/new-ticket/new-ticket.mjs && sed -i '' 's/0.1.7/0.1.8/' components/zendesk/sources/new-ticket-comment-added/new-ticket-comment-added.mjs && sed -i '' 's/0.0.15/0.0.16/' components/zendesk/sources/ticket-added-to-view/ticket-added-to-view.mjs && sed -i '' 's/0.2.15/0.2.16/' components/zendesk/sources/ticket-closed/ticket-closed.mjs && sed -i '' 's/0.2.15/0.2.16/' components/zendesk/sources/ticket-pended/ticket-pended.mjs && sed -i '' 's/0.2.15/0.2.16/' components/zendesk/sources/ticket-solved/ticket-solved.mjs && sed -i '' 's/0.2.15/0.2.16/' components/zendesk/sources/ticket-updated/ticket-updated.mjs

You can find the contribution guidelines for versioning at: https://pipedream.com/docs/components/contributing/guidelines#versioning

version: "0.2.9",
version: "0.2.10",
annotations: {
destructiveHint: true,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
destructiveHint: true,
destructiveHint: false,

}
: {} );

ticketComment.public = ticketCommentPublic;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

if (ticketCommentBody) {
   ticketComment.public = ticketCommentPublic;
}

@Christianlauw123 Christianlauw123 Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Hi @ashwins01,

Thanks, that makes sense.
I've updated the ticketCommentBody logic and set destructiveHint to false.

I've also bumped the component versions.

Additionally, I tested the behavior directly against the Zendesk API using Postman. Sending an empty comment payload ({}) succeeds without any validation error, but no comment is added to the ticket.

As coderabbitai we should ensure we don’t send empty comment objects to Zendesk, i.e., omit the comment field entirely when no content exists (instead of sending {}), since the API treats it as a no-op rather than an error.

Let me know what you think.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
components/zendesk/actions/update-ticket/update-ticket.mjs (1)

137-147: ⚠️ Potential issue | 🟠 Major

Fix comment field to use undefined instead of empty object when no comment content exists.

At lines 137–147, ticketComment falls back to {} when there is no comment body. This empty object is always included in ticketData (line 171) and sent to the Zendesk API as "comment": {}, which violates the Zendesk API design. According to Zendesk API documentation, the comment field should be omitted entirely when no comment content exists (no body, html_body, or uploads).

Set the fallback to undefined and let @pipedream/platform axios strip it automatically, per the coding guidelines for handling optional values.

Suggested minimal patch
     const ticketComment = ticketCommentBodyIsHTML
       ? {
         html_body: ticketCommentBody,
       }
       : (
         ticketCommentBody
           ? {
             body: ticketCommentBody,
           }
-          : {} );
+          : undefined);

Also applies to: 171–173 (where comment: ticketComment is always included in the request).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@components/zendesk/actions/update-ticket/update-ticket.mjs` around lines 137
- 147, In the ticketComment variable definition, the fallback value when there
is no comment body is currently an empty object `{}`, which causes the comment
field to be sent to the Zendesk API as an empty object, violating the API
design. Change the fallback from `{}` to `undefined` so that the
`@pipedream/platform` axios client will automatically strip the undefined value
and omit the comment field entirely from the request when no comment content
exists, which aligns with Zendesk API expectations.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@components/zendesk/actions/update-ticket/update-ticket.mjs`:
- Around line 137-147: In the ticketComment variable definition, the fallback
value when there is no comment body is currently an empty object `{}`, which
causes the comment field to be sent to the Zendesk API as an empty object,
violating the API design. Change the fallback from `{}` to `undefined` so that
the `@pipedream/platform` axios client will automatically strip the undefined
value and omit the comment field entirely from the request when no comment
content exists, which aligns with Zendesk API expectations.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 176fd02b-a83f-497b-a2e8-8650058b507e

📥 Commits

Reviewing files that changed from the base of the PR and between 622a6bd and 1db9d9a.

📒 Files selected for processing (1)
  • components/zendesk/actions/update-ticket/update-ticket.mjs

ashwins01
ashwins01 previously approved these changes Jun 17, 2026

@ashwins01 ashwins01 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good to me, moving to QA.
Thank you for your contribution!

@ashwins01

ashwins01 commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

QA passed.

Testcases covered:
zendesk-update-ticket - All 8 test cases passed. Action correctly updates tickets, enforces required fields, handles 404 for invalid IDs, and constrains status to valid enum values via UI.

  • Case 1 (happy-path): Valid ticket ID selected (ticket 14 'QA Test Updated Subject'), comment body filled, submitted -> Success: ticket updated, response returned ticket id=14, updated_at=2026-06-25T13:15:59Z, comment appended. Console log shows MARKER-21212 uploadTokens prop: undefined (expected debug log, not an error).
  • Case 2 (no-ticket-id): Account selected, comment body filled, Ticket ID left empty (still showing 'Select...') -> Submit button remained disabled - UI blocks submission when required Ticket ID is absent. No API call made.
  • Case 3 (invalid-ticket): Ticket ID set to '9999999' via free-text Create option in the select, submitted -> Clean 404 Not Found error returned from Zendesk API: {"status": 404, "statusText": "Not Found"}. No crash or unhandled exception.
  • Case 4 (subject): Optional 'Ticket Subject' prop added with value 'QA Test Updated Subject - Case 4', submitted -> Success: ticket subject updated to 'QA Test Updated Subject - Case 4' confirmed in response JSON.
  • Case 5 (status-valid): Optional 'Ticket Status' set to 'pending' from dropdown, submitted -> Success: response shows "status": "pending". Ticket updated correctly.
  • Case 6 (priority): Optional 'Ticket Priority' set to 'high' from dropdown, submitted -> Success: response contains "priority": "high" confirmed. Ticket updated correctly.
  • Case 7 (status-invalid): Typed 'invalid_status' into the Ticket Status react-select input -> UI shows '0 results available for search term invalid_status' and 'No options' listbox - Status field is a strict enum select with no free-text creation. Invalid value cannot be selected or submitted. Clean UI-level enforcement.
  • Case 8 (comment): Optional 'Comment' not passed. Ticket updated correctly.

@ashwins01 ashwins01 merged commit 65550fd into PipedreamHQ:master Jun 25, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

prioritized Prioritized issue User submitted Submitted by a user

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] zendesk - update ticket action

6 participants