Skip to content

Added URL to capabilities, enabling deeplinking to the underlying#3

Merged
yusufaytas merged 1 commit into
mainfrom
add-deeplinking-to-capabilities
Jan 4, 2026
Merged

Added URL to capabilities, enabling deeplinking to the underlying#3
yusufaytas merged 1 commit into
mainfrom
add-deeplinking-to-capabilities

Conversation

@yusufaytas
Copy link
Copy Markdown
Contributor

No description provided.

@yusufaytas yusufaytas force-pushed the add-deeplinking-to-capabilities branch from 9aef37a to f94ecde Compare January 4, 2026 16:29
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Jan 4, 2026

Greptile Summary

Added optional URL field to all capability schemas (Incident, Alert, Log, Metric, Ticket, Team, Service, MessageResult) to enable deeplinking from OpsOrch clients back to the upstream provider's UI.

Key Changes:

  • Schema updates: Added url field (omitempty) to 9 core resource structs
  • Documentation: Added "Provider Deep Links" section in README explaining adapter responsibilities
  • Test coverage: Updated all stub providers and tests to populate and verify URL fields
  • Architecture alignment: URL is passthrough only—OpsOrch does not generate, log, or modify these URLs

Security Note:
The README appropriately documents that adapters remain responsible for ensuring URLs do not leak secrets, since OpsOrch treats the field as passthrough.

Confidence Score: 5/5

  • This PR is safe to merge with no risk
  • The changes are straightforward schema additions that add optional fields without breaking existing functionality. All affected schemas and tests have been consistently updated, test coverage is comprehensive, and the passthrough-only approach maintains architectural simplicity.
  • No files require special attention

Important Files Changed

Filename Overview
schema/alert.go Added optional URL field to Alert struct for provider UI deep links
schema/incident.go Added optional URL field to Incident struct for provider UI deep links
schema/log.go Added optional URL field to LogEntry struct for provider UI deep links
schema/metric.go Added optional URL fields to MetricDescriptor and MetricSeries for provider UI deep links
schema/ticket.go Added optional URL field to Ticket struct for provider UI deep links
api/server_test.go Updated all stub providers and tests to populate and verify URL fields with test constants

Sequence Diagram

sequenceDiagram
    participant Client
    participant API as OpsOrch API
    participant Provider as Adapter Provider
    participant Upstream as Upstream System

    Client->>API: Query capability (e.g., /incidents/query)
    API->>Provider: Query(ctx, query)
    Provider->>Upstream: API call to upstream provider
    Upstream-->>Provider: Raw provider data
    Note over Provider: Normalize response<br/>Map upstream fields to schema<br/>Extract & populate URL field
    Provider-->>API: Normalized resource with URL
    API-->>Client: JSON response with url field
    Note over Client: Client can deeplink to<br/>upstream system UI
Loading

@yusufaytas yusufaytas merged commit c2cb738 into main Jan 4, 2026
3 checks passed
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