docs(enterprise): add Jira Data Center integration guide for self-hosted OHE#527
Conversation
…ted OHE Adds enterprise/integrations/jira-dc.mdx documenting how to enable the Jira Data Center integration on a self-hosted OpenHands Enterprise install (both Replicated and standalone Helm). Wires the new page into the Enterprise tab's 'Integrations' group introduced by #525. The Replicated KOTS group landed in OpenHands-Cloud#656 and was extended with service-account fields in OpenHands-Cloud#658. Co-authored-by: openhands <openhands@all-hands.dev>
|
Closing — superseded by #532, which shipped The deeper-dive material in this PR that isn't yet on Alona's page — standalone Helm install path, the Closing #527 also unblocks #525 (Slack integration) from the stacked nav-group conflict — it can now retarget cleanly to This comment was posted by an AI agent (OpenHands) on behalf of @jpshackelford. |
What
Adds
enterprise/integrations/jira-dc.mdxdocumenting how to enable the Jira Data Center integration on a self-hosted OpenHands Enterprise install (both the Replicated VM-based install and standalone Helm). Wires the new page into the new "Integrations" group indocs.jsonintroduced by #525.Why
The Jira Data Center integration has shipped for self-hosted OHE — the Replicated config group was wired up in
OpenHands/OpenHands-Cloud#656(Wire Jira Data Center for Replicated installs, merged 2026-05-22), and the service-account fields were added inOpenHands/OpenHands-Cloud#658([PLTF-2870] Add Jira DC service account KOTS config, merged 2026-05-26). The chart wiring (charts/openhands-secrets/templates/jira-dc-app.yaml,charts/openhands/templates/_env.yaml, and the/integration/jira-dc/eventsingress route) is already in place.Today the operator-facing information is split across:
help_textstrings in the Replicated admin console (which only an operator already in the console can read),openhands/usage/cloud/project-management/jira-dc-integration.mdx(titled "Jira Data Center Integration (Coming soon...)", not yet linked fromdocs.jsonnav).This PR consolidates the end-to-end self-hosted workflow on docs.openhands.dev so an operator can stand up Jira DC against a fresh OHE install without reading chart source code.
Contents of the new page
End-to-end, in order:
openhands-agentwith Browse Projects + Add Comments permissions on every project OpenHands should work on. No admin or "Bulk Change" required.linkMethod=oauth). Documents the exact callback URLhttps://app.<your-base-domain>/integration/jira-dc/callback, plus a<Warning>about the exact-match requirement.Includes a leading table that maps each artifact (Service Account Email / PAT / OAuth Client ID / Secret / Base URL) to which link method requires it.
Secret/jira-dc-app, thejiraDc.enabled/jiraDc.linkMethodHelm values, and the auto-mirroredOH_WEB_CLIENT_FEATURE_FLAGS_ENABLE_JIRA_DCfrontend feature flag.values.yamlsnippets for theopenhandsandopenhands-secretscharts. Explicitly calls out theOH_WEB_CLIENT_FEATURE_FLAGS_ENABLE_JIRA_DCgotcha — without setting it, the backend routes are live but the UI card never renders (this gotcha is auto-handled by the Replicated overlay; Helm users have to set it themselves).Ends with a
kubectl set env … --listone-liner showing the expectedJIRA_DC_*env vars for bothlinkMethod=oauthandlinkMethod=emailinstalls.https://app.<your-base-domain>/integration/jira-dc/eventswith Issue updated + Comment created events. Explains that JQL filtering is optional and that OHE re-fetches issues via the service-account PAT before acting, so no shared webhook secret is required.openhandslabel) vs mention trigger (@openhands …), an example ticket body with repo coordinates and AC, and a clarification that conversations run as the linked user, using their LLM keys / Git tokens / org — theopenhands-agentservice account is only used to read the ticket and post the bot's@openhandsreplies.OH_WEB_CLIENT_FEATURE_FLAGS_ENABLE_JIRA_DCgotcha)redirect_uri does not match@openhandsmentions ignored@openhandsstill asks to re-link (with apsqlquery to diagnose)OpenHands-Cloud, plus a cross-link back to the existing Cloud placeholder.Navigation
docs.jsongets the new page appended to the "Integrations" group introduced by #525:{ "group": "Integrations", "pages": [ "enterprise/integrations/slack", "enterprise/integrations/jira-dc" ] }llms.txt / llms-full.txt
make llmswas run per the repo's AGENTS.md guidance. Because this PR is stacked on top of #525 (which already absorbed the pre-existing drift mentioned there), the diff here is clean —+1line inllms.txtand+468lines inllms-full.txt, all of which are the new Jira DC page body.Verification
python3 -c "import json; json.load(open('docs.json'))"— JSON syntax OK.npx mintlify@latest broken-links—success no broken links found./enterprise/quick-start,/enterprise/k8s-install/index,/openhands/usage/cloud/project-management/jira-dc-integration).#create-the-service-account,#generate-the-service-account-pat,#create-the-oauth-20-application,#step-2-configure-openhands-enterprise) resolve to real headings in the page.OpenHands-Cloudpaths undermain.Out of scope
openhands/usage/cloud/project-management/jira-dc-integration.mdx, currently titled "Jira Data Center Integration (Coming soon...)" and not linked fromdocs.json). PR #451 renames that file underenterprise/usage/cloud/project-management/; this new self-hosted page is intentionally separate and lives underenterprise/integrations/alongside Slack, exactly the way docs(enterprise): add Slack integration guide for self-hosted OHE #525 anticipated.Coordination
enterprise/integrations/+ the "Integrations" group. This PR is stacked on top.maincleanly.enterprise/usage/cloud/project-management/. No content overlap with this PR — different file, different path, different audience.docs.jsonwill need a mechanical rebase.This PR was opened by an AI agent (OpenHands) on behalf of @jpshackelford.
@jpshackelford can click here to continue refining the PR