Skip to content

fix: complete Zendesk ticket issue linking#721

Open
jaeyunha wants to merge 4 commits into
stagingfrom
issue-575-p1-zendesk-create-link-issues-from
Open

fix: complete Zendesk ticket issue linking#721
jaeyunha wants to merge 4 commits into
stagingfrom
issue-575-p1-zendesk-create-link-issues-from

Conversation

@jaeyunha

Copy link
Copy Markdown
Member

Summary

  • persist Zendesk ticket links into customer/customer_request records
  • queue Zendesk closure follow-up jobs independently of Sentry links
  • fix integration catalog details fallback and migration prefix ordering

Verification

  • pnpm --filter @exponential/web test integrations-view.test.tsx
  • make:lint
  • make:migrations

Blocked: make check fails in web typecheck because legacy Better Auth/Drizzle modules are referenced but not present; make test/api tests cannot run because go is not installed in this lane.

jaeyunha and others added 4 commits June 16, 2026 01:49
- Replace dynamic SQL string concatenation in resolveZendeskInstall with
  two separate static QueryRow calls (one for integrationID path, one for
  subdomain path) to eliminate SQL injection risk from Go string concat
- Restore early-return guard in queueSentryAutomations when links slice
  is empty so the workflow_state category query no longer runs on every
  issue state-change with no Sentry/Zendesk links
- Change ZendeskTicketCreate error response from 400 to 500 for internal
  server failures (DB errors, missing workflow state); 400 is reserved
  for input validation failures
- Assign getZendeskSourceLink(event) to a const in issue-detail-view.tsx
  to avoid calling the function twice in the same render

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…sk-create-link-issues-from

# Conflicts:
#	apps/api/internal/integrations/handler.go
#	apps/api/internal/issues/sentry_sources.go
#	apps/web/src/app/(app)/settings/integrations/page.tsx
@jaeyunha

Copy link
Copy Markdown
Member Author

Controller disposition for current head 7fec8b7: validation-blocked / rebase required; do not merge as-is.

Evidence:

  • PR fix: complete Zendesk ticket issue linking #721 targets staging but does not contain current origin/staging; GitHub reports mergeable=CONFLICTING.
  • Merge simulation conflicts in integration startup/router/catalog files, handler_test.go, zendesk.go, source-link handling, integration settings UI, generated OpenAPI/SDK, and migration ordering.
  • Branch includes stale P1 Zendesk: create/link issues from tickets and sync closure updates #575 Zendesk branch history plus the new customer-request/closure-sync commit; intended delta needs to be ported onto current staging cleanly.
  • Lane report says focused integrations-view Vitest, lint, and migration guard passed, but broad make check/Go validation were blocked in-lane; no GitHub checks are reported.

Required path:

  • Rebase/port the Zendesk customer-request/closure-sync delta onto current origin/staging, preserve already-landed Salesforce/Front/Intercom/Figma/Gong/Jira/Sentry integration changes during conflict resolution, regenerate OpenAPI/SDK from current contract, keep migration numbering unique/current, then rerun focused Zendesk Go + web + SDK gates before merge.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7fec8b755a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +749 to +751
{integration.provider === "zendesk" &&
(integration.actions.canConnect ||
integration.actions.canReconnect) ? (

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Allow first-time Zendesk setup to render

For a workspace that has never connected Zendesk, the API still returns a setupRequirement for zendesk in setupRequirement, so integrationActions sets canConnect to false and the integration is reported as configuration_required. Because this new form is gated on canConnect || canReconnect, the catalog only shows “Zendesk setup is not configured...” and there is no way to open the setup form or call /api/integrations/zendesk/setup from the UI; this also contradicts the added TestZendeskSetupRequirementAndSubdomain expectation.

Useful? React with 👍 / 👎.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant