Repository navigation
fix(hex): build dashboard source URLs that resolve in the Hex UI - #36335
Conversation
Hex app URLs are scoped by the workspace UUID, which no project endpoint returns. Resolve it once per run from /users/me and link published projects to /app (viewable by everyone) and unpublished ones to the notebook (/hex). If the workspace can't be resolved, ingest the dashboard without a link instead of a broken one.
❌ PR checklist incompleteThis PR cannot be merged until the following are addressed on its linked issue:
The fields live on the linked issue in the Shipping project (open the issue → right sidebar → Projects). After you set them, re-run this check (or push a commit) — issue/project changes do not re-trigger it automatically. Maintainers can bypass this check by adding the |
Code Review ✅ Approved🟡 Medium risk · Fetching workspace IDs and choosing Hex app or notebook URLs changes dashboard links; unavailable or malformed identity data could omit those links. Builds Hex dashboard source URLs scoped by workspace ID, fetched once per run from VerificationRules No rules evaluated Functional validation Not enabledAuto-approval Not enabledFor more verification details, comment OptionsDisplay: compact → Showing compact verification results. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
|



Describe your changes:
Hex dashboard
sourceUrls were built as{hostPort}/app/projects/{id}, which isn't a route Hex serves — every "View in Hex" link from OpenMetadata was a dead link.Real Hex project URLs are scoped by the workspace (org) UUID:
{hostPort}/{workspaceId}/app/{projectId}for the published app and{hostPort}/{workspaceId}/hex/{projectId}for the notebook. No project endpoint returns the workspace id, so:HexApiClient.workspace_idresolves it once per run fromGET /users/me(org.id), cached viacached_property.lastPublishedAtset) link to/app, which viewers can open; unpublished ones link to the notebook (/hex), since there is no app to open.sourceUrlrather than with a broken one (previously aNoneURL would have failed the whole dashboard).Type of change:
High-level design:
N/A — small change.
Tests:
Use cases covered
/users/mefailure → no URL, dashboard still ingestedeu.hex.tech) with a trailing slashUnit tests
ingestion/tests/unit/topology/dashboard/test_hex.py,ingestion/tests/unit/topology/dashboard/test_hex_client.py— 46 passedBackend integration tests
Ingestion integration tests
Playwright (UI) tests
UI screen recording:
Not applicable — ingestion-only fix.
Checklist:
🤖 Generated with Claude Code


Confidence Score: 5/5
The PR appears safe to merge; no actionable issues were found.Summary
Hex dashboard links now include the workspace ID and open the published app or unpublished notebook.
Reviews (3) · Last reviewed commit: "Merge commit 'f58cfd6a26447521fd6e2b22c8..." · Reviewed by Greptile