# JIRA

![Image 1 of 1](https://assets.relyanceuat.xyz/images/docs/34541930094093/34541946196877.svg)
Atlassian Jira is a project management and issue tracking tool that helps teams plan, track, and manage their work through customizable workflows and visual boards. It centralizes tasks, bugs, and project-related information, enhancing team coordination and productivity.

In order to integrate JIRA with Relyance AI you will need follow an OAuth2 flow and grant permission.

Relyance AI provides three (3) main options to integrate with a tenant’s jira’s account.

1. [Oauth2/App Token](/docs/vendor-integrations/jira/#:~:text=In%20order%20to%20integrate%20JIRA%20with%20Relyance%20AI%20you%20will%20need%20follow%20an%20OAuth2%20flow%20and%20grant%20permission.)
2. [Custom](/docs/vendor-integrations/jira/#:~:text=Option%202%3A%20In%20this%20case%20a%20connection%20with%20Custom%20authentication%20method%20should%20be%20created)
3. [Basic Auth](/docs/vendor-integrations/jira/#:~:text=Option%203%3A%20Basic%20Auth%20Connection%20Option)

### Which method to choose

| Method | Credential | Needs re-authorising? |
| --- | --- | --- |
| **Basic Auth** | Atlassian API token, tied to a user | No, until the token is revoked or the user is deactivated |
| **Custom** | organisation ID + admin API key | No, until the key is rotated |
| Oauth2 / App Token | browser authorisation, `offline_access` refresh token | Yes — Atlassian invalidates refresh tokens on credential and policy changes |

The Oauth2 flow requests `read:jira-user`, `read:jira-work`,
`manage:jira-configuration`, "Administer the Cloud site" and `offline_access`. It
is the quickest to set up and the one most likely to need re-authorising later;
the two token-based methods keep working until someone rotates the credential.

#### In the Relyance AI application:

1. Login to your Relyance account.
2. Navigate to the **Settings** (bottom-left corner).
3. Select **Integrations**.
4. Search and locate the **JIRA** integration card and click on it.
5. Click on the **Add Connection** button on the top right
6. Provide a meaningful name for the integration and click on the **Add** button
7. In the **Overview** section, select the integration features you wish to enable for the integration, review the **Scope and Permission**, and **Endpoint** details and click on **Continue**. For more details, see [Integration Features](/docs/introduction-to-relyance-ai/integration-features/)
8. In the **Connection** section, provide the appropriate values and click on **Continue**,

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/34541930081677.png)

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/34541946198541.png)

![JIRA-3.png](https://assets.relyanceuat.xyz/images/docs/34541930094093/34541930084749.png)

9. In the Authentication section, select **Oauth2/App Token** and click on continue  This will bring up JIRA to allow Relyance permissions to connect. Click **Accept**.

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40673789421197.png)

10. If the Data Inspection check box is checked from step 7, In the Data Inspection section, provide the appropriate values and click on **Continue** **Minimum Confidence Level:** This property adjusts the sensitivity of the Data Inspection feature. Lower likelihoods (e.g., unlikely) offer more coverage but may produce false positives, while higher sensitivity (e.g., very likely) provides greater accuracy but less coverage.

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/34541930086669.png)

11. Review the configuration summary from the Completion section and click on Finish.
12. Confirm the integration Status reflects Connected

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/34541930087565.png)

#### **Option 2: Connection with Custom authentication method**

#### **In the**[**Jira Admin Portal**](https://admin.atlassian.com/)

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651176612365.png)
**Note:** The user performing these steps must be an **Administrator** and a member of the **org-admins** group.

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651201994637.png)

1. Log in to the **Jira Admin Portal**.
2. If you manage multiple organizations, select the appropriate **organization**.
3. Navigate to **Settings → API keys**.
4. Click **Create API key**.
5. Choose **API keys without scopes**.
6. Click **Create API key** to generate it.
7. Once the key is created, **copy both the API Key and the Organization ID**. ⚠️ **Important:** You won’t be able to recover the API key later. Save it securely.

This API key will be used for **searching and deleting users** during the **Data Subject Access Request (DSAR)** process.

Refer to Jira’s official [documentation](https://support.atlassian.com/organization-administration/docs/manage-an-organization-with-the-admin-apis/) for more details.

**In the Relyance AI Application**

1. Log in to your **Relyance AI** account.
2. Go to the **Settings** menu (bottom left corner).
3. Select **Integrations**.
4. Locate the **Jira** integration card and click **Create**.
5. Choose the **Data Subject Request (DSAR)** option.

6. In the next step, select **Custom** as the **Authentication Method**, and enter the following details: **Organization ID** → from *Jira Admin Portal – Step 7* **API Key** → from *Jira Admin Portal – Step 7

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40673789422605.png)

7. Click **Finish** to complete the setup.

8. **Congratulations!** Your Jira account is now successfully connected to Relyance AI.

#### **Option 3: Connection with Basic Auth Connection Option**

#### **Part 1: Create an Atlassian API Token at Vendor Side**

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651202010509.png)
1. Log in to [https://id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens) [.](https://id.atlassian.com/manage-profile/security/api-tokens.)
2. Select **Create API token with scopes.**

1. Enter a **name** that describes the purpose of your API token.Choose an **expiration date** for the token (from **1 to 365 days** ).

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651202015245.png)

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651202021261.png)

1. Select the **app** you want the API token to access.

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651176647693.png)

1. Choose the following **scopes**: Read:jira-work Read:jira-user manage:jira-configuration

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651202019469.png)

1. Click **Create** to generate the token.

1. Copy the generated token you’ll need it in the next steps.

#### **Part 2: Get Workspace Details From Atlassian**

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651202023309.png)
1. Log in to [https://home.atlassian.com](https://home.atlassian.com)
2. Copy the **cloudId** value from the URL.

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651202030733.png)

1. From the left menu, click on **Jira**. On the following page, copy the **workspace name** from the URL.

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34541930094093/40651202026381.png)

**In Relyance AI**

1. Log in to your **Relyance AI** account.
2. Go to the **Settings** menu (bottom left corner).
3. Select **Integrations**.
4. From the catalog, choose **Jira**.
5. Click **Add Integration**.
6. Enter a **Connection Name**.
7. Under **Connection Options**, select the **Authentication Method** as **Basic Auth**.
8. Fill in the required details:
    - **Workspace ID** → from *Atlassian Portal – Part 2, Step 2*
    - **Workspace Name** → from *Atlassian Portal – Part 2, Step 3*
    - **User Email** → same email used to generate the API token
    - **API Token** → from *Atlassian Portal – Part 1, Step 8*
9. Click **Authenticate**.
10. Once authentication is successful, click **Finish**.
11. **Congratulations!** Your Jira account is now successfully connected to Relyance AI.

![Naming a new Atlassian Jira connection](https://assets.relyanceuat.xyz/images/docs/ui/atlassian_jira/03-add-connection.png)

<!-- terraform-examples:begin (generated from the integration catalog; do not hand-edit) -->

## Manage this integration with Terraform

Connections for this integration can be managed as code with the [Relyance Terraform provider](https://registry.terraform.io/providers/Relyance/relyance/latest). Non-secret fields go in `auth.params`; secret fields go in `auth.secrets_wo`, which is write-only — never stored in Terraform state. Rotate secrets by bumping `auth.secrets_wo_version`.

### OAuth (browser authorization)

The **OAuth (browser authorization)** method uses a browser authorization flow, so the connection is created in the Relyance app. Manage it in Terraform afterwards by importing it (`terraform import relyance_integration_connection.example atlassian_jira/<connection_id>`) or reading it with the `relyance_integration_connection` data source.

### API key

```hcl
resource "relyance_integration_connection" "atlassian_jira_1" {
  vendor = "atlassian_jira"
  name   = "<your connection name>"

  auth = {
    method = "api-key"
    params = {
      data_storage_location = "us"
    }
    # Secret fields are write-only: sent to Relyance, never stored in state.
    secrets_wo = {
      ORG_ID = var.atlassian_jira_org_id
      API_KEY = var.atlassian_jira_api_key
    }
    secrets_wo_version = 1
  }

  scans = { "data-inspection" = { enabled = true } }
}
```

### API token

```hcl
resource "relyance_integration_connection" "atlassian_jira_2" {
  vendor = "atlassian_jira"
  name   = "<your connection name>"

  auth = {
    method = "api-token"
    params = {
      data_storage_location = "us"
    }
    # Secret fields are write-only: sent to Relyance, never stored in state.
    secrets_wo = {
      workspace_id = var.atlassian_jira_workspace_id
      workspace_name = var.atlassian_jira_workspace_name
      user_email = var.atlassian_jira_user_email
      api_token = var.atlassian_jira_api_token
    }
    secrets_wo_version = 1
  }

  scans = { "data-inspection" = { enabled = true } }
}
```

<!-- terraform-examples:end -->
