# Atlassian

![horizontal-logo-gradient-blue-atlassian.svg](https://assets.relyanceuat.xyz/images/docs/5686248019085/5685220625677.svg)
Atlassian is a SaaS platform that builds platforms and tools for businesses. Notably the develop tools like Jira and Trello that are used by thousands of teams worldwide.

To integrate Atlassian with **Relyance AI**, authentication is required. Atlassian supports the following two authentication methods:

Oauth2 / App Token
DSR Oauth2 / API Key

**1. Oauth2 / App Token**

In order to connect Atlassian to Relyance AI, we will need to authorize Relyance AI using an **OAuth2/App Token**.

**2. DSR Oauth2 / API Key**

This section only needs to be done if enabling DSRs.

1. Login to Atlassian.
2. Go here: [https://id.atlassian.com/manage-profile/security/api-tokens](https://id.atlassian.com/manage-profile/security/api-tokens)
3. Click **Create API Token**.
4. In the dialog box, provide a meaningful name (e.g. Relyance Scan).
5. Click **Create**.
6. This will show your **API token**. Copy this as your **API Key** to be used in Relyance.
7. Your **Username** will be the account email you logged in with.

![Atlassian-5.png](https://assets.relyanceuat.xyz/images/docs/5686248019085/14918828821005.png)

#### In the Relyance AI application:

1. Log in to your Relyance AI account.
2. Navigate to **Settings** (bottom-left corner).
3. Select **Integrations**.
4. Click on the **Vendors and Data Stores** filter.
5. Locate the **Atlassian** integration card and click on **Atlassian**.
6. Click **Add Connection**, enter a name for the integration, and click **Add** to proceed.
7. If you are enabling **DSRs** with Atlassian, check the **Data Subject Request** box and click **Continue**.
8. In the **Connection Settings**, enter a name for the connection, set the **Rescan Frequency**, and click **Continue**.
9. Choose an **Authentication Method** from the available options and click **Continue**.
10. You will be redirected to grant access to your **Atlassian** account. Click **Accept** to complete the authorization.
11. You should now see a confirmation message. Click **Finish**.
12. Go to the **Integrations** page, where your **Atlassian integration** will be listed.
13. **Congratulations!** Your Atlassian account is now successfully connected to **Relyance AI.**

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

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

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

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

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

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

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

## If the connection reports Connected but returns nothing

These are the ways this integration comes back empty without reporting an error. Generated from the integration catalog, so it tracks what the connection actually asks for.

1. **A feature you enabled returns nothing.** Some scopes belong to a feature rather than to the connection: **Data subject requests** needs `write:jira-user`. Turning the feature on after the connection exists does not widen the grant it already holds, so re-authenticate the connection.
2. **Authorised, then empty.** The connection carries an authorisation, not a password: it stops returning data if the account that granted it loses access, its own permissions narrow, or the grant is revoked at the vendor. None of that reports an error here -- the connection keeps its last status until the next scan.
3. **A credential rotated at the vendor is not picked up here.** **API Key** is stored when you save the connection, so regenerating the value at the vendor breaks the next scan until it is re-pasted here. Recording the expiry on the connection means Relyance warns you before it lapses.

<!-- failure-modes:end -->

<!-- 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/<connection_id>`) or reading it with the `relyance_integration_connection` data source.

### OAuth (browser authorization) — DSR Oauth2 / API Key

The **OAuth (browser authorization) — DSR Oauth2 / API Key** 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/<connection_id>`) or reading it with the `relyance_integration_connection` data source.

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