Skip to content

Require integration name when adding from system form#8085

Merged
Kelsey-Ethyca merged 3 commits into
mainfrom
KT-require-integration-name-on-system-form
May 5, 2026
Merged

Require integration name when adding from system form#8085
Kelsey-Ethyca merged 3 commits into
mainfrom
KT-require-integration-name-on-system-form

Conversation

@Kelsey-Ethyca
Copy link
Copy Markdown
Contributor

@Kelsey-Ethyca Kelsey-Ethyca commented May 1, 2026

Ticket ENG-3699

Description Of Changes

Previously, when a user added an integration from a system's Integrations tab (/systems/configure/[id] → Integrations), the form did not collect a name. The name field was rendered as a hidden Form.Item and was explicitly omitted from the create payloads. As a result, those integrations were saved without a name and showed up as "(No name)" on the standalone Integrations list.

This change makes the Name field visible and required in the system-form integration form, matching the standalone "Add Integration" flow. It also pre-fills the field with the connection key when editing an existing nameless integration, so users with pre-existing "(No name)" integrations can keep their current key as the name (or rename it) without being blocked from saving / testing / authorizing.

Code Changes

  • clients/admin-ui/src/features/datastore-connections/system_portal_config/forms/ConnectorParametersForm.tsx:
    • Replaced the hidden name Form.Item with a visible field using rules={[{ required: true, message: "Name is required" }]} (matches the styling/validation of the standalone form).
    • In initialFormValues, fall back to connectionConfig.key when connectionConfig.name is null/empty so existing nameless integrations get a sensible default in the field.
  • clients/admin-ui/src/features/datastore-connections/system_portal_config/forms/ConnectorParameters.tsx:
    • Dropped the Omit<..., "name"> typing on both create payloads (createSaasConnector and patchConnectionConfig) and added name: values.name so the user-entered name is sent to the backend.

Steps to Confirm

  1. Navigate to Systems → pick any system → Integrations tab → choose an integration type to add.
  2. Confirm a Name field is now visible at the top of the form, marked required.
  3. Try to save without filling it in — confirm the form blocks submission with "Name is required".
  4. Fill in a name, save, and navigate to the Integrations page. Confirm the new integration appears with the name you provided (not "(No name)").
  5. For an existing integration that previously had no name (e.g., one created before this change), open it from the system form. Confirm the Name field is pre-populated with the integration's key. Save the form (no other changes) and confirm it now displays its key as the name on the Integrations page.
  6. Smoke-test the standalone "Add Integration" flow on /integrations to confirm it still works as before.

Pre-Merge Checklist

  • Issue requirements met
  • All CI pipelines succeeded
  • CHANGELOG.md updated
    • Add a db-migration label to the entry if your change includes a DB migration
    • Add a high-risk label to the entry if your change includes a high-risk change
    • Updates unreleased work already in Changelog, no new entry necessary
  • UX feedback:
    • All UX related changes have been reviewed by a designer
    • No UX review needed
  • Followup issues:
    • Followup issues created
    • No followup issues
  • Database migrations:
    • Ensure that your downrev is up to date with the latest revision on main
    • Ensure that your downgrade() migration is correct and works
      • If a downgrade migration is not possible for this change, please call this out in the PR description!
    • No migrations
  • Documentation:
    • Documentation complete, PR opened in fidesdocs
    • Documentation issue created in fidesdocs
    • If there are any new client scopes created as part of the pull request, remember to update public-facing documentation that references our scope registry
    • No documentation updates required

The system form's Integrations tab previously hid the name field and
omitted it from the create payload, so integrations created there showed
as "(No name)" on the integrations list. Make the field visible and
required, send it on create, and pre-fill the name with the connection
key for existing nameless integrations so editing them isn't blocked.
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 1, 2026

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

Project Deployment Actions Updated (UTC)
fides-plus-nightly Ready Ready Preview, Comment May 3, 2026 2:46pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
fides-privacy-center Ignored Ignored May 3, 2026 2:46pm

Request Review

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 1, 2026

Title Lines Statements Branches Functions
admin-ui Coverage: 8%
6.28% (2830/44999) 5.53% (1427/25759) 4.42% (588/13285)
fides-js Coverage: 78%
79.39% (2011/2533) 65.99% (1240/1879) 73.09% (345/472)
privacy-center Coverage: 88%
85.97% (331/385) 81.36% (179/220) 78.87% (56/71)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Kelsey-Ethyca Kelsey-Ethyca marked this pull request as ready for review May 3, 2026 16:58
@Kelsey-Ethyca Kelsey-Ethyca requested a review from a team as a code owner May 3, 2026 16:58
@Kelsey-Ethyca Kelsey-Ethyca requested review from speaker-ender and removed request for a team May 3, 2026 16:58
@Kelsey-Ethyca Kelsey-Ethyca added this pull request to the merge queue May 5, 2026
Merged via the queue into main with commit 71da989 May 5, 2026
51 checks passed
@Kelsey-Ethyca Kelsey-Ethyca deleted the KT-require-integration-name-on-system-form branch May 5, 2026 13:50
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.

2 participants