Skip to content

feat(integrations): add Oracle Fusion Cloud HCM - #7415

Open
BillLeoutsakosvl346 wants to merge 6 commits into
feat/oracle-fusion-foundationfrom
investigate/oracle-fusion-hcm-integration
Open

feat(integrations): add Oracle Fusion Cloud HCM#7415
BillLeoutsakosvl346 wants to merge 6 commits into
feat/oracle-fusion-foundationfrom
investigate/oracle-fusion-hcm-integration

Conversation

@BillLeoutsakosvl346

@BillLeoutsakosvl346 BillLeoutsakosvl346 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a strictly read-only Oracle Fusion Cloud HCM integration on top of the reusable Oracle Fusion foundation in #7427.

The product layer keeps 18 public operations:

  • Workers: list/get public worker profiles
  • Assignments and reporting: list/get assignments, managers, and direct reports
  • Absence management: list/get absences and list absence types
  • Workforce structures: jobs, job families, departments, locations, positions, business units, legal employers, grades, and person types

It also keeps four server-side selectors, eight templates, and seven grounded integration skills.

Shared foundation and transport

  • Depends on feat(oracle-fusion): add shared integration foundation #7427 and uses its requestOracleFusionJson transport for every Oracle request
  • Uses Oracle REST Framework version 9 and the versioned 11.13.18.05 HCM resources
  • Inherits the shared 5 MiB response cap, 30-second timeout, two bounded GET retries, redirect prohibition, canonical-origin validation, DNS/IP protection, and lossless integer parsing
  • Uses the shared collection protocol and propagates its returned nextOffset
  • Resolves Oracle opaque worker and assignment keys through exact business-ID lookups and validated same-origin self-links before item or nested traversal

Reusable credentials and security

  • Registers OAuth group oracle_fusion and service oracle_fusion_hcm
  • Uses the foundation-owned oracle-fusion-service-account provider with no scopes
  • Presents only reusable credential / manualCredential inputs under canonical oauthCredential
  • Removes raw tenant URL, username, and password block inputs
  • Keeps accessToken and instanceUrl hidden and internal; the stored credential bundle is authoritative for the destination
  • Rejects wrong credential kinds, wrong stored providers, and caller-supplied destination spoofing before Oracle execution
  • Uses OracleIcon across the block, templates, integration registries, and generated docs

Data boundaries

  • GET-only; there are no mutation tools or triggers
  • Worker access is limited to the documented active/public-worker resources and fixed safe field projections
  • Collection pages are explicitly bounded to 100 rows; selectors are bounded to 50 rows and do not auto-load full datasets
  • Absence detail retains the documented exact finder flow and person-ownership enforcement
  • Provider failures are mapped to fixed HCM-facing errors; unexpected failures remain generic and non-reflective

Verification

  • Exact request-contract coverage for all 18 operations, including paths, fields, queries, finders, pagination, and REST v9 escaping
  • Opaque-key, self-link, exact-ID, nullable/boolean, cancellation, absence ownership, credential binding, selector authorization, and spoof-rejection coverage
  • Focused HCM/foundation/auth/selector/executor test suites
  • Repository type-check, lint, format, all 45 audits, boundary checks, and generated-file freshness checks
  • Independent read-only fix/re-audit loop completed with 0 critical findings and 0 warnings

Oracle references

Dependency and rollout

This PR is intentionally based on feat/oracle-fusion-foundation and should merge only after #7427. The foundation-owned service-account provider/minter projection is unchanged here.

No live Oracle tenant was available; provider transport and schema behavior are covered with documentation-grounded mocks and fixtures.

@vercel

vercel Bot commented Sep 2, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Sep 3, 2026 6:44pm UTC

Request Review

@greptile-apps

greptile-apps Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds a read-only Oracle Fusion Cloud HCM integration backed by the shared Oracle Fusion transport and reusable credentials.

  • Registers 18 HCM operations for workers, assignments, reporting relationships, absences, and workforce structures.
  • Adds credential-bound execution, protected selectors, bounded pagination, field projections, validation, and error mapping.
  • Aligns block metadata, tool registries, generated contracts, documentation, icons, OAuth configuration, and deployment availability.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
apps/sim/lib/internal/oracle-fusion-hcm/operations.ts Implements the 18 bounded, read-only Oracle HCM request flows and opaque-key resolution.
apps/sim/lib/internal/oracle-fusion-hcm/execute-tool.ts Dispatches validated operations through credential-bound Oracle transport and stable error projection.
apps/sim/lib/internal/oracle-fusion-hcm/projectors.ts Projects provider payloads into minimized public HCM output shapes while preserving identifier strings.
apps/sim/lib/selectors/server/providers/oracle-fusion-hcm.ts Adds bounded, authorized Oracle-backed selectors for workers, assignments, absences, and absence types.
apps/sim/tools/oracle_fusion_hcm/definitions.ts Defines the public tool contracts and credential visibility for all HCM operations.
apps/sim/blocks/blocks/oracle_fusion_hcm.ts Registers the workflow-facing block, operation controls, selectors, templates, and skills.

Sequence Diagram

sequenceDiagram
    participant User as Workflow user
    participant Block as Oracle HCM block
    participant Exec as HCM executor
    participant Auth as Credential resolution
    participant Transport as Shared Oracle transport
    participant Oracle as Oracle Fusion HCM
    User->>Block: Select operation and inputs
    Block->>Exec: Execute registered HCM tool
    Exec->>Auth: Resolve credential-bound token and origin
    Auth-->>Exec: Internal access token and canonical instance URL
    Exec->>Transport: Send bounded GET request
    Transport->>Oracle: Validated same-origin request
    Oracle-->>Transport: HCM JSON response
    Transport-->>Exec: Losslessly parsed response
    Exec-->>Block: Projected read-only result
    Block-->>User: Structured operation output
Loading

Reviews (8): Last reviewed commit: "test(integrations): clarify Oracle HCM t..." | Re-trigger Greptile

Comment thread apps/sim/lib/internal/oracle-fusion-hcm/client.ts Outdated

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 31 files

Re-trigger cubic

Comment thread apps/sim/lib/selectors/server/providers/oracle-fusion-hcm.ts
Comment thread apps/sim/lib/selectors/server/registry.ts
Comment thread apps/sim/lib/selectors/server/providers/oracle-fusion-hcm.test.ts Outdated
Comment thread apps/sim/lib/selectors/server/providers/oracle-fusion-hcm.test.ts
Comment thread apps/sim/lib/internal/oracle-fusion-hcm/operations.test.ts Outdated
Comment thread apps/sim/lib/internal/oracle-fusion-hcm/client.test.ts Outdated
Comment thread apps/sim/lib/internal/oracle-fusion-hcm/client.test.ts Outdated
Comment thread packages/deployment-config/src/integrations.json
Comment thread apps/sim/lib/internal/oracle-fusion-hcm/validation.test.ts
Comment thread apps/sim/lib/internal/oracle-fusion-hcm/validation.test.ts
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile-apps @cubic-dev-ai please re-review the latest commit (20724c1), including the fixes and dispositions on the prior review threads.

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

@greptile-apps @cubic-dev-ai please re-review the latest commit (20724c1), including the fixes and dispositions on the prior review threads.

@BillLeoutsakosvl346 Incremental reviews are turned off for this repository. Comment @cubic review to run a full review.

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 44 files

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/lib/selectors/server/providers/oracle-fusion-hcm.ts Outdated
Comment thread apps/sim/lib/selectors/server/providers/oracle-fusion-hcm.ts Outdated
Comment thread packages/deployment-config/src/integrations.json Outdated
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 45 files

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/lib/selectors/server/providers/oracle-fusion-hcm.ts Outdated
@BillLeoutsakosvl346
BillLeoutsakosvl346 force-pushed the investigate/oracle-fusion-hcm-integration branch from 83e7bcb to 1c2968f Compare September 2, 2026 22:23
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 45 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 33 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@BillLeoutsakosvl346
BillLeoutsakosvl346 force-pushed the investigate/oracle-fusion-hcm-integration branch from 04be977 to 7521992 Compare September 3, 2026 18:39
@gitguardian

gitguardian Bot commented Sep 3, 2026

Copy link
Copy Markdown

️✅ There are no secrets present in this pull request anymore.

If these secrets were true positive and are still valid, we highly recommend you to revoke them.
While these secrets were previously flagged, we no longer have a reference to the
specific commits where they were detected. Once a secret has been leaked into a git
repository, you should consider it compromised, even if it was deleted immediately.
Find here more information about risks.


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@BillLeoutsakosvl346
BillLeoutsakosvl346 changed the base branch from staging to feat/oracle-fusion-foundation September 3, 2026 18:40
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 38 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.

Re-trigger cubic

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