Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,7 @@
"pages": [
"enterprise/integrations/azure-devops",
"enterprise/integrations/bitbucket-data-center",
"enterprise/integrations/jira-cloud",
"enterprise/integrations/jira-data-center",
"enterprise/integrations/slack",
"enterprise/integrations/external-llm-gateways"
Expand Down
143 changes: 143 additions & 0 deletions enterprise/integrations/jira-cloud.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
---
title: Jira Cloud
description: Configure Jira Cloud for OpenHands Enterprise.

Check warning on line 3 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L3

Did you really mean 'Jira'?
icon: cloud
---

This guide explains how to connect Jira Cloud to an OpenHands Enterprise

Check warning on line 7 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L7

Did you really mean 'Jira'?
Replicated installation. The integration lets users start OpenHands from Jira

Check warning on line 8 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L8

Did you really mean 'Jira'?
issues by commenting with `@openhands` or by adding the `openhands` label.
OpenHands replies on the issue with a link to the conversation and posts the
result back when it finishes.

Jira Cloud users are linked to OpenHands accounts by **email match**: no

Check warning on line 13 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L13

Did you really mean 'Jira'?
Atlassian OAuth app is required, and users need no per-user setup beyond

Check warning on line 14 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L14

Did you really mean 'Atlassian'?
making their email visible (see [User requirements](#user-requirements)).
Users are enrolled automatically the first time they trigger OpenHands.

## Prerequisites

- Jira Cloud **site administrator** access, to invite the service account and

Check warning on line 20 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L20

Did you really mean 'Jira'?
register a webhook.
- An OpenHands Enterprise **organization admin or owner** account, to
configure the integration inside OpenHands.
- Network access from Jira Cloud to the OpenHands app URL over HTTPS with a
publicly trusted certificate (for webhook delivery), and from OpenHands to
`api.atlassian.com` (for Jira API calls).

Check warning on line 26 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L26

Did you really mean 'Jira'?

## Create a service account

Create a dedicated Atlassian account for OpenHands, for example

Check warning on line 30 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L30

Did you really mean 'Atlassian'?
`openhands-bot@company.com`. OpenHands uses this account to read issues and
post comments, and its replies appear under this account's name.

1. Invite the account to your Jira site and grant it access to every project

Check warning on line 34 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L34

Did you really mean 'Jira'?
where OpenHands should read and comment.
2. Log in as the service account and create an API token at
**id.atlassian.com → Security → API tokens**. Save the token somewhere
safe. You will need it for the next configuration step below.

<Warning>
Mentions and labels made by the service account itself are ignored to
prevent the agent from triggering itself. Always test from a regular user
account, not the service account.
</Warning>

## Enable the integration in the Admin Console

1. In the OpenHands Enterprise Admin Console, open **Config** and check
**Enable Jira Cloud Integration** under **Jira Cloud Integration**.

Check warning on line 49 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L49

Did you really mean 'Jira'?

Check warning on line 49 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L49

Did you really mean 'Jira'?
2. Save and deploy the new version, and wait for the rollout to finish.

Check warning on line 50 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L50

Did you really mean 'rollout'?

After the deploy, a **Jira** card appears under **Settings → Integrations**

Check warning on line 52 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L52

Did you really mean 'Jira'?
in the OpenHands app.

## Configure the workspace in OpenHands

As an organization admin or owner, open **Settings → Integrations → Jira**

Check warning on line 57 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L57

Did you really mean 'Jira'?
in OpenHands and select **Configure**:

- **Workspace**: the full site hostname, for example
`yourcompany.atlassian.net`. Webhook events are matched against this
hostname, so the bare site name is not sufficient.

Check warning on line 62 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L62

Did you really mean 'hostname'?
- **Service account email**: the service account's email address.
- **Service account API token**: the token created above. The credentials are
validated against Jira when you save, so a typo fails immediately.

Check warning on line 65 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L65

Did you really mean 'Jira'?
- **Webhook secret**: choose a strong secret. You will paste the same secret
into Jira in the next step.

Check warning on line 67 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L67

Did you really mean 'Jira'?

Save, then copy the **events URL** shown below the webhook secret field. It
has the form:

```
https://app.<your-openhands-domain>/integration/jira/events
```

## Register the webhook in Jira

Check warning on line 76 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L76

Did you really mean 'Jira'?

In Jira, open **Settings (gear icon) → System → WebHooks** and create a

Check warning on line 78 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L78

Did you really mean 'Jira'?
webhook:

- **URL**: the events URL copied above.
- **Secret**: the same webhook secret entered in OpenHands. Jira uses it to

Check warning on line 82 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L82

Did you really mean 'Jira'?
sign deliveries, and OpenHands rejects unsigned or mis-signed events.
- **Events**: check **Issue → updated** and **Comment → created**. These are
the only two events OpenHands processes.
- Optionally scope the webhook with a JQL filter (for example
`project = ENG`).
- Leave the request body included (do not check "Exclude body").

## User requirements

Each user who wants to trigger OpenHands from Jira must satisfy two

Check warning on line 92 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L92

Did you really mean 'Jira'?
conditions:

1. **Matching email**: the user's Atlassian account email must exactly match

Check warning on line 95 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L95

Did you really mean 'Atlassian'?
their OpenHands login email.
2. **Visible email**: in the user's Atlassian account settings

Check warning on line 97 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L97

Did you really mean 'Atlassian'?
(**id.atlassian.com → Profile and visibility → Contact → Email address**),
visibility must be set to **Anyone**. Jira omits the email from webhook

Check warning on line 99 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L99

Did you really mean 'Jira'?
payloads otherwise, and OpenHands cannot match the user without it.

<Warning>
Atlassian can take 15 minutes or more to propagate an email-visibility

Check warning on line 103 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L103

Did you really mean 'Atlassian'?
change into webhook payloads. If OpenHands replies that it could not
determine your email address right after you changed the setting, wait and
try again before assuming the setting is wrong.
</Warning>

No further setup is needed: the first successful mention enrolls the user
automatically.

## Start OpenHands from an issue

- Comment `@openhands` followed by instructions on any issue in a project the
webhook covers, or add the `openhands` label to the issue. Both the typed
literal text and the mention selected from Jira's autocomplete picker work.

Check warning on line 116 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L116

Did you really mean 'Jira's'?
- To have OpenHands work in a repository, include the repository URL (for
example `https://gitlab.com/group/project` or
`https://github.com/org/repo`) in the issue description or the comment. The
triggering user must have that Git provider connected in OpenHands, and
exactly one repository should be mentioned. Without a repository, OpenHands
still answers on the issue but works without a workspace.

OpenHands reacts with a comment linking to the conversation, and the service
account posts the result back to the issue when the run completes.

## Troubleshooting

- **OpenHands replies "Could not determine your Jira email address"**: the

Check warning on line 129 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L129

Did you really mean 'Jira'?
email-visibility requirement above is not met, or the change has not
propagated yet. Verify the exact setting and retry after 15 minutes.
- **A mention does nothing, with no reply at all**: check that the comment
was not made by the service account (those are ignored), that the user's
Atlassian email matches their OpenHands email, and that the webhook covers

Check warning on line 134 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L134

Did you really mean 'Atlassian'?
the issue's project. Jira Cloud does not show a delivery log for system

Check warning on line 135 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L135

Did you really mean 'Jira'?
webhooks, so check the OpenHands logs (the `openhands-integrations`
workload) or collect a support bundle.
- **Logs show `403 Unidentified workspace`**: the Workspace field in the
OpenHands configuration does not equal the site hostname in the webhook

Check warning on line 139 in enterprise/integrations/jira-cloud.mdx

View check run for this annotation

Mintlify / Mintlify Validation (allhandsai) - vale-spellcheck

enterprise/integrations/jira-cloud.mdx#L139

Did you really mean 'hostname'?
payload. Re-open the configuration and set it to
`yourcompany.atlassian.net`.
- **OpenHands replies that multiple repositories were found**: mention
exactly one repository in the issue and comment text.
Loading