> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rootly.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Connect your Jira Cloud instance to Rootly for bidirectional incident and issue synchronization, custom field mapping, and automatic ticket creation.

Setting up the Jira integration involves two parts: connecting your Jira account via OAuth and configuring a webhook so Jira can send events back to Rootly. Both are required for full bidirectional sync.

## Prerequisites

<Warning>
  **Before you start, you'll need:**

  * A Rootly account with **Admin** or **Owner** permissions
  * A **Jira Cloud** account with admin rights to your instance
</Warning>

## Required Jira Permissions

The Jira account you use to install must have these permissions:

| Permission            | Description                                   |
| --------------------- | --------------------------------------------- |
| **Assign issues**     | Ability to assign issues to users             |
| **Close issues**      | Ability to close issues                       |
| **Create issues**     | Ability to create new issues                  |
| **Delete issues**     | Ability to delete issues                      |
| **Edit issues**       | Ability to edit existing issues               |
| **Link issues**       | Ability to link issues to one another         |
| **Transition issues** | Ability to transition issues between statuses |

<Info>
  Learn more about Jira permissions in [Atlassian's documentation](https://confluence.atlassian.com/adminjiraserver073/managing-project-permissions-861253293.html).
</Info>

## Required OAuth Scopes

Rootly requests these OAuth scopes during installation:

<Accordion title="View all 28 OAuth scopes">
  **Read permissions:**

  * `read:application-role:jira`
  * `read:avatar:jira`
  * `read:field-configuration:jira`
  * `read:group:jira`
  * `read:issue:jira`
  * `read:issue-status:jira`
  * `read:issue-meta:jira`
  * `read:issue-security-level:jira`
  * `read:issue-type:jira`
  * `read:issue-type-hierarchy:jira`
  * `read:issue.changelog:jira`
  * `read:issue.transition:jira`
  * `read:issue.vote:jira`
  * `read:priority:jira`
  * `read:project:jira`
  * `read:project-category:jira`
  * `read:project-version:jira`
  * `read:project.component:jira`
  * `read:project.property:jira`
  * `read:status:jira`
  * `read:user:jira`
  * `read:user.property:jira`

  **Write permissions:**

  * `write:attachment:jira`
  * `write:comment:jira`
  * `write:comment.property:jira`
  * `write:issue:jira`
  * `write:issue.property:jira`
</Accordion>

## Connect Jira to Rootly

The OAuth flow connects your Jira Cloud instance to Rootly. You'll be redirected to Jira to authorize the connection, then returned to Rootly automatically.

<Steps>
  <Step title="Go to Configuration → Integrations">
    In the Rootly sidebar, click **Configuration → Integrations**.

    <img alt="Rootly integrations menu" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-1.1.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=4176f801094bfb17ca6990299623aa42" width="331" height="509" data-path="images/integrations/jira/installation/image-1.1.png" />
  </Step>

  <Step title="Find Jira Cloud and click Setup">
    Search for **Jira Cloud** and click **Setup**.

    <img alt="Jira Cloud integration setup" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-2.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=87d900afdf83a27261cddf561f4bc4c2" width="653" height="407" data-path="images/integrations/jira/installation/image-2.png" />
  </Step>

  <Step title="Authorize in Jira">
    You'll be redirected to Jira. Verify you're installing on the correct instance, then click **Accept**.

    <img alt="Jira OAuth authorization" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-3.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=377a6e541219a53b89b4d43d38d77b6a" width="498" height="581" data-path="images/integrations/jira/installation/image-3.png" />

    <img alt="Jira permissions acceptance" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-4.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=3c590f76f95d581ab8469f3abacea542" width="415" height="164" data-path="images/integrations/jira/installation/image-4.png" />
  </Step>

  <Step title="Installation complete">
    You'll be redirected back to Rootly with a success message confirming the connection.

    <img alt="Jira installation success" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-5.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=953b8b5af5b5ec3fd4d338f63262fcd8" width="915" height="497" data-path="images/integrations/jira/installation/image-5.png" />
  </Step>
</Steps>

<Check>Your Jira Cloud instance is now connected to Rootly.</Check>

## Installing Additional Instances

If your organization uses multiple Jira Cloud instances, you can connect them separately.

<Note>
  A Jira Cloud **instance** is not the same as a Jira **project**. An instance is a separate domain (e.g., `company.atlassian.net`). You can have multiple projects within one instance — most organizations have a single instance with multiple projects.
</Note>

To add another instance:

1. Go to **Integrations** and search for **Jira Cloud**
2. Click **Set up another instance**
3. Follow the same authorization flow

<Warning>
  Make sure you're logged into the correct Jira instance in your browser before starting the authorization flow.
</Warning>

## Setting Up the Jira Webhook

To enable **Jira → Rootly sync**, you must configure a webhook in Jira. This allows Rootly to receive events when Jira issues are created or updated. Without this step, changes in Jira won't reflect back in Rootly.

<Steps>
  <Step title="Open Jira Webhooks">
    In Jira, navigate to **Settings → System → WebHooks**.

    <img alt="Jira system settings" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-6.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=7ffabcbd65e80c8e1ebbf5d43b25cc6f" width="528" height="487" data-path="images/integrations/jira/installation/image-6.png" />

    <img alt="Jira webhooks menu" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-7.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=ce0173ed7065c57dbec002fc67dd9524" width="225" height="528" data-path="images/integrations/jira/installation/image-7.png" />
  </Step>

  <Step title="Create a new webhook">
    Click **Create a WebHook**.

    <img alt="Create webhook button" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-8.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=be5194fe910d976b5d3cba921389269f" width="1107" height="258" data-path="images/integrations/jira/installation/image-8.png" />
  </Step>

  <Step title="Configure the webhook">
    Give it a descriptive name (e.g., "Rootly Webhook Listener") and ensure the status is set to **Enabled**.

    <img alt="Webhook name and status" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-9.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=a2197d48dbd92d3219a4d3aaa640a68f" width="545" height="152" data-path="images/integrations/jira/installation/image-9.png" />
  </Step>

  <Step title="Add the Rootly webhook URL">
    In Rootly, go to **Integrations → Jira → Configure** and copy the webhook URL. Paste it into the **URL** field in Jira.

    <img alt="Rootly webhook URL" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-10.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=807818f3eb7a106967c086bc51e15756" width="903" height="185" data-path="images/integrations/jira/installation/image-10.png" />

    <img alt="Webhook URL field in Jira" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-11.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=b4dd95956d31489adac9480d833b33df" width="563" height="202" data-path="images/integrations/jira/installation/image-11.png" />
  </Step>

  <Step title="Filter by project (optional)">
    To limit which projects send events to Rootly, add a JQL filter under **Issue related events**. Leave this blank to receive events from all projects.

    <img alt="JQL filter for projects" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-12.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=7d8a6682f77fe2970603fcb95763591c" width="778" height="198" data-path="images/integrations/jira/installation/image-12.png" />
  </Step>

  <Step title="Select events">
    Choose the Jira events you want Rootly to receive — at minimum, select **issue created** and **issue updated**.

    <img alt="Webhook event selection" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-13.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=9ee984084b17612956e727cb612a11a6" width="775" height="207" data-path="images/integrations/jira/installation/image-13.png" />
  </Step>

  <Step title="Keep request body enabled">
    Ensure **Exclude body** is **not** checked. Jira may enable this by default, but Rootly requires the full event payload to process events correctly.

    <img alt="Exclude body checkbox" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-14.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=64776d0c5267ea3e41282159cfe8cecf" width="634" height="70" data-path="images/integrations/jira/installation/image-14.png" />
  </Step>

  <Step title="Save the webhook">
    Click **Create** to save your webhook configuration.

    <img alt="Save webhook" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-15.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=32b06c0f82ceef7caf16c2fd4f273ce8" width="526" height="164" data-path="images/integrations/jira/installation/image-15.png" />

    <img alt="Webhook created confirmation" src="https://mintcdn.com/rootly/AeBVvOHy0V3r_SuA/images/integrations/jira/installation/image-16.png?fit=max&auto=format&n=AeBVvOHy0V3r_SuA&q=85&s=5aca2f278a4ed7f4a9e4562ea4e33790" width="773" height="59" data-path="images/integrations/jira/installation/image-16.png" />
  </Step>
</Steps>

<Check>Your Jira webhook is now configured for bidirectional sync.</Check>

## Verify Installation

Once connected, confirm the integration is working end-to-end:

1. **Check integration status** — The Jira tile in Rootly should show **Connected**.
2. **Test Rootly → Jira** — Create a test incident and verify that a Jira issue is created in the expected project.
3. **Test Jira → Rootly** — Create or update a Jira issue, then check the [Alerts page](https://rootly.com/account/alerts) in Rootly to confirm the event arrived.

<Tip>
  If events appear on the Alerts page, your webhook is configured correctly.
</Tip>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Jira integration not appearing after OAuth" icon="circle-xmark">
    **Issue:** After completing OAuth, Jira doesn't show under Connected Apps.

    **Solutions:**

    * Ensure you completed the full OAuth consent flow without navigating away
    * Confirm your Jira user has **admin** or **manage apps** permissions
    * Log out of other Jira accounts and retry authorization
    * Revoke the app in Jira (**Settings → Apps → Manage Apps**) and reconnect
  </Accordion>

  <Accordion title="Rootly cannot access Jira projects" icon="circle-xmark">
    **Issue:** Jira connects but no projects appear in Rootly.

    **Solutions:**

    * Verify your Jira account has **Browse Projects** permission
    * Check project-level permissions for **Create Issues**, **Edit Issues**, and **Add Comments**
    * Re-authenticate to refresh your permission scopes
  </Accordion>

  <Accordion title="Issue creation fails" icon="circle-xmark">
    **Issue:** Integration connects but Rootly can't create issues in Jira.

    **Solutions:**

    * Verify your Jira user has: Create Issues, Edit Issues, Assign Issues, Add Comments
    * Check for required custom fields in Jira that aren't being populated by Rootly
    * Confirm the issue type exists in the selected project
    * Review Jira workflow validators that may block external issue creation
  </Accordion>

  <Accordion title="Webhook events not appearing in Rootly" icon="circle-xmark">
    **Issue:** Jira events don't show on Rootly's Alerts page.

    **Solutions:**

    * Verify the webhook URL in Jira matches the one from Rootly
    * Ensure **Exclude body** is NOT checked in the Jira webhook settings
    * Confirm the webhook status is **Enabled**
    * Check that your JQL filter (if used) includes the project you're testing with
  </Accordion>
</AccordionGroup>

## Uninstall

To remove the Jira integration:

1. Go to **Configuration → Integrations** and find **Jira**
2. Click **Connected** to reveal the disconnect option
3. Click **Disconnect**

<Frame>
  <img src="https://mintcdn.com/rootly/QMD-dNqeYW4BA9dg/images/integrations/common/uninstall-connected.png?fit=max&auto=format&n=QMD-dNqeYW4BA9dg&q=85&s=dbb790e2576c8969bba96bc26c95265f" alt="Click Connected to reveal the Disconnect option" width="319" height="188" data-path="images/integrations/common/uninstall-connected.png" />
</Frame>

<Warning>
  Disconnecting Rootly does **not** remove the webhook from Jira. To stop Jira from sending events, you must also delete the webhook in Jira under **Settings → System → WebHooks**.
</Warning>
