/claim #2281

Summary

Adds a JiraServiceManagementConnector that indexes tickets from a specified JSM project (Service Request, Incident, Problem, Change, Service Task).

Approach

Rather than duplicating the existing JiraConnector logic, this PR implements JiraServiceManagementConnector as a thin subclass of JiraConnector, overriding only 3 hooks:

  • source → DocumentSource.JIRA_SERVICE_MANAGEMENT
  • source_display_name → Jira Service Management
  • jql_issue_type_filter → JSM-specific issue type filter

All checkpointing, authentication, pagination, slim docs, and incremental sync logic is inherited from the parent — zero duplication.

Files Changed

  • backend/onyx/connectors/jira_service_management/connector.py — new subclass (~60 lines)
  • backend/onyx/configs/constants.py — added JIRA_SERVICE_MANAGEMENT to DocumentSource
  • backend/onyx/connectors/registry.py — registered new connector
  • web/src/lib/sources.ts — added source metadata
  • web/src/lib/connectors/connectors.tsx — added frontend config
  • web/src/lib/connectors/credentials.ts — added credential config
  • web/src/lib/connectors/types.ts — added type entry
  • web/src/components/admin/connectors/ConnectorTitle.tsx — added display name
  • backend/tests/daily/connectors/jira_service_management/test_jsm_connector.py — tests

Tests

2 passed — ran: cd backend && python -m pytest tests/daily/connectors/jira_service_management/ -v

Closes #2281


Summary by cubic

Adds a JiraServiceManagementConnector to index Jira Service Management tickets with zero logic duplication by subclassing JiraConnector. Addresses Linear #2281 by meeting the requirement to ingest Service Request, Incident, Problem, Change, and Service Task issues.

  • New Features

    • Added JiraServiceManagementConnector with JSM issue type filter and DocumentSource.JIRA_SERVICE_MANAGEMENT.
    • Registered jira_service_management in the backend registry and source metadata; added UI config, credentials, autosync, and title handling.
    • Supports indexing “everything,” a specific project, or a custom JQL; inherits checkpointing, auth, pagination, slim docs, and permission sync.
  • Refactors

    • JiraConnector now exposes overridable source, source_display_name, and jql_issue_type_filter; error and credential messages use display name, and process_jira_issue accepts source.
    • Introduced onyx.connectors.onyx_jira for clean re-exports of JiraConnector and helpers.
    • Minor logging and formatting cleanups; added focused JSM tests for JQL and incremental sync.

Written for commit f9ebf2b0d63cfe22753826ffce36f33c71c88ab0. Summary will update on new commits.

Claim

Total prize pool $250
Total paid $0
Status Pending
Submitted April 03, 2026
Last updated April 03, 2026

Contributors

VA

VasuBansal7576

@VasuBansal7576

100%

Sponsors

ON

Onyx (YC W24)

@onyx-dot-app

$250