Summary

Adds a dedicated Jira Service Management (JSM) connector that extends the existing Jira connector with JSM-specific features.

JSM Features Added

  • Service desk discovery — auto-discovers JSM service desks and scopes indexing
  • Customer requests — fetches full request details via /rest/servicedeskapi/request
  • Request types — maps requests to their configured request types and groups
  • SLA tracking — captures ongoing/completed SLA cycles with breach detection
  • Approval workflows — retrieves approval details with approver information
  • Queue membership — maps issues to their JSM queues
  • Participant tracking — captures request participants beyond reporter/assignee
  • Portal URLs — resolves customer portal links for each request
  • Rich metadata — enriches documents with JSM-specific metadata fields

Architecture

  • Inherits from JiraConnector — reuses checkpoint, permission sync, slim document, and hierarchy interfaces
  • Refactors parent to expose overridable methods (_process_issue, _get_document_external_access, _build_time_jql, document_source property) for clean extension
  • Uses /rest/servicedeskapi/* endpoints for all JSM-specific data
  • Graceful error handling with warn-once pattern (degraded but functional on permission errors)

Changes

  • backend/onyx/connectors/jira_service_management/ — new connector + utils (1350 lines)
  • backend/onyx/connectors/jira/connector.py — refactored for extensibility (no behavior change)
  • backend/onyx/configs/constants.py — added JIRA_SERVICE_MANAGEMENT source
  • backend/onyx/connectors/registry.py — registered new connector
  • Frontend wiring (connector config, credentials, source mapping, icons)
  • Unit tests

Testing

  • All new Python files pass syntax checks
  • Unit tests included for connector and utils
  • Designed for both Jira Cloud and Jira Server/Data Center

Fixes #2281

/claim #2281


Summary by cubic

Adds a dedicated Jira Service Management connector to index customer requests with SLAs, approvals, queues, and JSM-specific metadata, built on top of the existing Jira connector. Refactors the Jira connector for clean extension without changing existing behavior. Fixes #2281.

  • New Features

    • New JiraServiceManagementConnector registered under source jira_service_management.
    • Service desk discovery and scoped JQL; uses /rest/servicedeskapi/*.
    • Indexes customer requests, request types/groups, participants, approvals, SLAs, and queue membership.
    • Enriches docs with JSM metadata (service desk, request type/ID/status, participants, approvals, queues, SLAs, portal URL).
    • Appends JSM details to the ticket body within JIRA_CONNECTOR_MAX_TICKET_SIZE.
    • Permissions: no doc-level perms set (JSM visibility differs from Jira project).
    • Frontend support: new connector config (jira_base_url, optional project_key, jql_query, comment_email_blacklist, scoped_token), credentials template, source mapping, and icon.
    • Unit tests for connector and helpers.
  • Refactors

    • JiraConnector now exposes document_source, _process_issue, _get_document_external_access, and _build_time_jql for subclassing.
    • No behavior change to existing Jira connector; only extension points added.

Written for commit 45236340d60e4f991fd86503c430570e53ef5886. Summary will update on new commits.

Claim

Total prize pool $250
Total paid $0
Status Pending
Submitted March 14, 2026
Last updated March 14, 2026

Contributors

KO

korvantlabs-gif

@korvantlabs-gif

100%

Sponsors

ON

Onyx (YC W24)

@onyx-dot-app

$250