Skip to content

Add Jira Service Management connector docs page - #469

Open
Furox-Art wants to merge 3 commits into
onyx-dot-app:mainfrom
Furox-Art:docs/jira-service-management-connector
Open

Furox-Art wants to merge 3 commits into
onyx-dot-app:mainfrom
Furox-Art:docs/jira-service-management-connector

Conversation

@Furox-Art

Copy link
Copy Markdown

What

Adds the canonical documentation page admins/connectors/official/jira_service_management.mdx and registers it in docs.json.

This is the exact path the new JSM connector wires into the Onyx UI (DOCS_ADMINS_PATH/connectors/official/jira_service_management in onyx-dot-app/onyx#14687) — today it 404s. The connector guide (backend/onyx/connectors/README.md) requires a docs page with guiding images before a connector PR merges; the prior docs carrier (#454) was closed unmerged.

Contents

  • How it works (10-minute sync, per-ticket content, JSM-specific metadata: request type / organizations / SLA)
  • Service desk setup: dedicated account, project access, comment visibility (public vs internal notes), permission-sync grants, scoped API token (read:jira-work)
  • Attachments: off by default; enabled → separate documents linked to their ticket, pruned when the flag turns off; full/slim passes see identical attachment IDs (matches the include_attachments contract and the #14687 implementation)
  • Configure the connector walkthrough (credential → base URL + project key → optional toggles → access → create)

Honest notes on acceptance artifacts

  • Images: the 3 guiding images are schematic diagrams of the real form fields and the attachment parity behavior — deliberately not fake UI captures. I don't have a live Onyx environment to screenshot; if maintainers prefer real captures, happy to swap them in (the <img> paths are already wired).
  • Setup recording: not attached — it inherently needs a live environment and an Atlassian instance. The page doubles as the setup guide maintainers can use to recreate a daily-test environment.

Companion connector PR: onyx-dot-app/onyx#14687 (attachment parity implemented in f14a5f5 with a 5-scenario test matrix).

Canonical page for admins/connectors/official/jira_service_management —
the path the Onyx UI links to for the new JSM connector (onyx-dot-app/onyx#14687).

Covers: how indexing works, service desk account/token setup, connector
configuration (project key, internal notes toggle, include_attachments with
full/slim pruning parity, comment blacklist, optional JQL), attachment
behavior, and indexed metadata. Guiding images are schematic diagrams, not
UI captures; real screenshots and the setup recording still need a live
environment.
…heck

The two connector-form images were generated wireframes, but their alt text
presented them as the real Onyx Admin Panel forms. Regenerate them with a
visible "Schematic field map - not a product screenshot" badge and correct the
alt text, and add a note in "Configure the connector" telling readers to match
field labels rather than layout. All field labels in the diagrams (Jira Base
URL, Project Key, Using scoped token, Include internal notes, Include
attachments) match the connector definition in onyx-dot-app/onyx#14687.

Also document the connector's project type validation, which was missing:
validate_connector_settings raises a validation error unless Project Key points
at a service desk (projectTypeKey == "service_desk") project, and tells you to
use the Jira connector for traditional Jira projects.

Run scripts/format_docs.py, which the page was failing before this change.

No Admin Panel screenshots or setup recording are added. The JSM connector is
still unmerged in onyx-dot-app/onyx#14687, so the Admin > Add Connector flow
cannot be captured from any released Onyx build yet.
@Furox-Art

Copy link
Copy Markdown
Author

Setup recording / Admin Panel screenshots: not produced, and why

This PR does not contain an Admin → Add Connector recording or real Admin Panel screenshots, and I did not add anything that stands in for them. Recording this honestly rather than approximating it, because the requested evidence cannot be obtained authentically right now.

The blocking reason

The Jira Service Management connector does not exist in any released Onyx build. onyx-dot-app/onyx#14687 is still open and unmerged (mergedAt: null):

  • backend/onyx/connectors/jira_service_management/ → 404 on main (directory does not exist)
  • web/src/lib/sources.ts on main → no jira_service_management entry in SOURCE_METADATA_MAP, so "Jira Service Management" never appears in Admin → Add Connector

So there is no released Onyx in which that flow can be performed and captured. A recording would require building and running the unmerged PR branch, plus a real Jira Service Management tenant to point it at.

Environment checked (this machine)

Requirement Status
Docker absent (docker not on PATH) — cannot stand up the Onyx stack (Postgres, Redis, Python backend, web build)
Running Onyx instance none — no Onyx/Redis/Postgres processes, nothing listening on Onyx ports
Onyx source checkout none present locally
Jira / Atlassian credentials none — no JIRA* / ATLASSIAN* env vars, no tenant config; JSM is a paid Atlassian Cloud product and an API token cannot be minted without a tenant
Browser/recording tooling available — Chrome, Playwright browser cache, ffmpeg

Recording tooling exists; the two things it would need to record — a released connector and a JSM tenant — do not.

What I did instead (truthful, verifiable changes)

  1. Fixed misleading image alt text. JsmCredential.png and JsmProject.png are generated wireframes, but their alt text described them as the real Onyx forms ("Onyx Jira Service Management credential form…", "Jira Service Management connector form…"). Regenerated both with a visible Schematic field map - not a product screenshot badge, corrected the alt text, and added a note in Configure the connector telling readers to match field labels rather than layout. JsmAttachmentParity.png was already honestly labelled a diagram and is unchanged.
  2. Documented the connector's project-type validation, which was missing. validate_connector_settings raises a validation error unless Project Key points at a service desk project (projectTypeKey == "service_desk"), and directs you to the Jira connector otherwise. Added as a <Warning>.
  3. Ran scripts/format_docs.py, which this page was failing before (--check exited 1 on the previous commit). It now passes, and the file is formatter-idempotent.

Every documented field was checked against the real connector definition in onyx#14687 and matches: Jira Base URL (jira_base_url), Project Key (project_key), Using scoped token (scoped_token), Include internal notes (include_internal_comments), Include attachments (include_attachments), Comment Email Blacklist (comment_email_blacklist), Custom JQL Query (jql_query, under Advanced). The credential is jira_user_email + jira_api_token, reusing JiraCredentialJson. The indexed-metadata list is the Jira connector's 17 fields plus Customer Request Type, Organizations, and SLA.

Page path, docs.json registration (alphabetical, in the official-connectors group), and the cross-link from web/src/lib/sources.ts → ${DOCS_ADMINS_PATH}/connectors/official/jira_service_management all agree.

To actually close the remaining evidence gap

Once onyx#14687 merges into a released build, the recording is straightforward for anyone with a JSM tenant: run that build, add the connector, and capture Admin → Add Connector → Jira Service Management through Create Connector, with real values for base URL, project key, and the three toggles. I can do this immediately if given a reachable Onyx instance and JSM credentials, or a maintainer can capture it in-app and drop the file into assets/admins/connectors/jira_service_management/. Until then this page documents the setup in exact reproducible steps instead, and I would rather it say nothing about a recording than imply one exists.

Add a "Field mapping" reference table to the Jira Service Management page that
maps each Admin Panel label to the configuration key Onyx uses, so the same
values can be supplied through the API, a config file, or an export.

Keys verified against the connector definition in onyx-dot-app/onyx#14687:
jira_base_url, project_key, scoped_token, include_internal_comments,
include_attachments, comment_email_blacklist, and jql_query. Each key appears
in all three of the backend connector __init__ signature, the TypeScript
JiraServiceManagementConfig interface, and the web connector form config, so
the mapping is the same value end to end. The credential keys jira_user_email
and jira_api_token are documented alongside it.

batch_size and labels_to_skip are intentionally omitted: they are connector
__init__ parameters that are not exposed as form fields and are absent from
JiraServiceManagementConfig.

Also note that include_attachments is off by default and that project_key must
resolve to a service desk project, matching validate_connector_settings.

No new images or recordings are added.
@Furox-Art

Copy link
Copy Markdown
Author

Hi! This PR is blocked waiting for review/approval. Could you please review when you have a chance? The changes are ready and all local checks pass. Thanks!

@Furox-Art

Copy link
Copy Markdown
Author

Status note for reviewers: the 3 guiding images in this PR are schematic diagrams (not fake UI captures) since I don't have a live Onyx environment — the <img> paths are wired so real screenshots can be dropped in trivially if preferred. The setup recording requires a live Atlassian instance; to unblock, the page is written to double as the environment recreation guide from the connector checklist. Happy to add real captures or a recording link as soon as I can spin up the environment — or if a maintainer records it from the page itself, I'll embed that version. How would you like to proceed?

This branch has not been deployed

No deployments
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