Skip to content

sap-success-factors#27664

Open
varun-lakhyani wants to merge 5 commits intoopen-metadata:mainfrom
varun-lakhyani:sap-sf
Open

sap-success-factors#27664
varun-lakhyani wants to merge 5 commits intoopen-metadata:mainfrom
varun-lakhyani:sap-sf

Conversation

@varun-lakhyani
Copy link
Copy Markdown
Member

@varun-lakhyani varun-lakhyani commented Apr 23, 2026

Describe your changes:

Fixes

I worked on ... because ...

Type of change:

  • Bug fix
  • Improvement
  • New feature
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • I have commented on my code, particularly in hard-to-understand areas.
  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

Summary by Gitar

  • New Connector:
    • Added full implementation for SapSuccessFactors database connector, including schemas and test connection definitions.
  • Configuration:
    • Defined SapSuccessFactorsConnection schema with support for BasicAuth and OAuth2Credentials authentication types.
  • System Integration:
    • Registered SapSuccessFactors as a valid database service type in DatabaseService and UI service constants.

This will update automatically on new commits.

@varun-lakhyani varun-lakhyani requested a review from a team as a code owner April 23, 2026 10:36
@github-actions
Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@varun-lakhyani varun-lakhyani changed the title sap-sf sap-success-factors Apr 23, 2026
@varun-lakhyani varun-lakhyani added the safe to test Add this label to run secure Github workflows on PRs label Apr 23, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 23, 2026

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 61%
61.94% (61763/99708) 42.06% (33022/78508) 45.09% (9763/21648)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 23, 2026

🟡 Playwright Results — all passed (14 flaky)

✅ 3959 passed · ❌ 0 failed · 🟡 14 flaky · ⏭️ 86 skipped

Shard Passed Failed Flaky Skipped
🟡 Shard 1 298 0 1 4
🟡 Shard 2 753 0 6 8
🟡 Shard 3 731 0 1 7
🟡 Shard 4 758 0 1 18
✅ Shard 5 687 0 0 41
🟡 Shard 6 732 0 5 8
🟡 14 flaky test(s) (passed on retry)
  • Pages/UserCreationWithPersona.spec.ts › Create user with persona and verify on profile (shard 1, 1 retry)
  • Features/ActivityAPI.spec.ts › Activity event is created when description is updated (shard 2, 1 retry)
  • Features/ActivityAPI.spec.ts › Activity event shows the actor who made the change (shard 2, 1 retry)
  • Features/DataQuality/TestCaseImportExportE2eFlow.spec.ts › Admin: Complete export-import-validate flow (shard 2, 1 retry)
  • Features/DataQuality/TestCaseResultPermissions.spec.ts › User with only VIEW cannot PATCH results (shard 2, 1 retry)
  • Features/DomainFilterQueryFilter.spec.ts › Domain filter should work with different asset types (shard 2, 1 retry)
  • Features/Glossary/GlossaryP3Tests.spec.ts › should handle multiple rapid API calls (shard 2, 1 retry)
  • Features/RTL.spec.ts › Verify Following widget functionality (shard 3, 1 retry)
  • Pages/DataContractsSemanticRules.spec.ts › Validate UpdatedOn Rule Greater Than Equal (shard 4, 1 retry)
  • Pages/Lineage/DataAssetLineage.spec.ts › verify create lineage for entity - Dashboard (shard 6, 1 retry)
  • Pages/Lineage/LineageFilters.spec.ts › Verify lineage schema filter selection (shard 6, 1 retry)
  • Pages/Lineage/LineageRightPanel.spec.ts › Verify custom properties tab IS visible for supported type: searchIndex (shard 6, 1 retry)
  • Pages/ODCSImportExport.spec.ts › Multi-object ODCS contract - object selector shows all schema objects (shard 6, 1 retry)
  • Pages/ServiceEntity.spec.ts › Delete Database Schema (shard 6, 1 retry)

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ TypeScript Types Need Update

The generated TypeScript types are out of sync with the JSON schema changes.

Since this is a pull request from a forked repository, the types cannot be automatically committed.
Please generate and commit the types manually:

cd openmetadata-ui/src/main/resources/ui
./json2ts-generate-all.sh -l true
git add src/generated/
git commit -m "Update generated TypeScript types"
git push

After pushing the changes, this check will pass automatically.

@gitar-bot
Copy link
Copy Markdown

gitar-bot Bot commented Apr 26, 2026

Code Review ✅ Approved 2 resolved / 2 findings

Configuration updates for SAP SuccessFactors enable support for both BasicAuth and OAuth2, while ensuring proper JSON formatting. Username requirements were clarified and missing newlines were added to files.

✅ 2 resolved
Edge Case: Username not required — BasicAuth/OAuth2 both need it

📄 openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/sapSuccessFactorsConnection.json:119
The connection schema only requires baseUrl and companyId, but the username field is described as necessary for both BasicAuth ("used as the credential username") and OAuth2 ("used as the SAML NameID"). Without username in the required array, a user can save a connection config that will always fail at runtime.

JSON Schema draft-07 doesn't support conditional required natively in a clean way, but since username is needed for both auth types, it should simply be added to required. For auth-type-specific fields (password for BasicAuth, clientId/privateKey/tokenUrl for OAuth2), you could either add them all as optional and validate at the connector level (which is the pattern most OM connectors use), or use if/then blocks.

Quality: Missing newline at end of JSON files

📄 openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/sapSuccessFactorsConnection.json:121 📄 openmetadata-service/src/main/resources/json/data/testConnections/database/sapsuccessfactors.json:21
Both sapSuccessFactorsConnection.json and sapsuccessfactors.json are missing a trailing newline. This is flagged by most linters and causes noisy diffs when content is appended later.

Options

Display: compact → Showing less information.

Comment with these commands to change:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ TypeScript Types Need Update

The generated TypeScript types are out of sync with the JSON schema changes.

Since this is a pull request from a forked repository, the types cannot be automatically committed.
Please generate and commit the types manually:

cd openmetadata-ui/src/main/resources/ui
./json2ts-generate-all.sh -l true
git add src/generated/
git commit -m "Update generated TypeScript types"
git push

After pushing the changes, this check will pass automatically.

@sonarqubecloud
Copy link
Copy Markdown

@sonarqubecloud
Copy link
Copy Markdown

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

Labels

safe to test Add this label to run secure Github workflows on PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant