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

# Create Jira / Linear tickets from a release

> Connect Jira Cloud or Linear and open a pre-filled upgrade ticket straight from a release page. Enterprise.

> **Issue tracker integration** turns any release into an upgrade ticket in
> **Jira Cloud** or **Linear** with one click. Relnx pre-fills the title, a
> summary of what changed (breaking changes and security fixes first), the
> affected version, and a link back to the release — so whoever picks up the
> ticket has the context already.

This is the bridge between "Relnx told us there's a new release" and "it's on
the team's board."

## How it works

1. An org owner/admin **connects** Jira or Linear once (an API token, stored
   encrypted).
2. Anyone on the team clicks **Create ticket** on a release page.
3. Relnx creates the issue in your tracker and links straight to it.

You can connect **both** providers and choose per ticket.

## Step 1 — Get your provider details

You'll paste these into Relnx in step 2.

### Jira Cloud

| Field             | Where to find it                                                                                                      |
| ----------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Site URL**      | Your Jira URL, e.g. `https://yourco.atlassian.net`                                                                    |
| **Account email** | The Atlassian account the token belongs to                                                                            |
| **API token**     | Create one at [id.atlassian.com → Security → API tokens](https://id.atlassian.com/manage-profile/security/api-tokens) |
| **Project key**   | The short prefix on issues in your target project, e.g. `OPS` in `OPS-1234`                                           |

The token needs permission to **create issues** in that project. Tickets are
created as issue type **Task**.

### Linear

| Field       | Where to find it                                                                             |
| ----------- | -------------------------------------------------------------------------------------------- |
| **API key** | Create one at [Linear → Settings → API → Personal API keys](https://linear.app/settings/api) |
| **Team ID** | A UUID (not the short team key). Fetch it with the API key:                                  |

```bash theme={null}
curl -s -X POST https://api.linear.app/graphql \
  -H "Authorization: <YOUR_LINEAR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ teams { nodes { id name key } } }"}'
```

Use the `id` (UUID) of the team you want tickets created in.

## Step 2 — Connect (owner / admin)

1. Go to **Org → Settings → Issue Tracker**.
2. Choose **Jira** or **Linear** and fill in the fields from step 1.
3. Click **Connect**.

Relnx **validates the token with the provider before saving** — if it's wrong,
you'll know immediately. The token is then stored **encrypted**. Repeat for the
second provider if you want both.

## Step 3 — Create a ticket

1. Open any **release page** (`relnx.io/releases/<release>`).
2. Click **Create ticket** (next to *Mark as Reviewed*). If both providers are
   connected, pick one.
3. Relnx creates the issue and shows a **link straight to it**.

Once a ticket exists for a release, the button is **replaced by a link to that
ticket** on every future visit — so you won't accidentally create duplicates.

### What the ticket looks like

> **Upgrade ArgoCD to 3.2.0**
>
> A new release of ArgoCD (3.2.0) is available.
>
> What changed:
>
> * \[Breaking Change] Remove deprecated `--repo-server` flag
> * \[Security Fix] Patch auth bypass in API server
> * \[Feature] Add OCI registry support
>
> Affected version: 3.2.0
> Full details: [https://www.relnx.io/releases/argocd-3-2-0](https://www.relnx.io/releases/argocd-3-2-0)

## Track all created tickets

Every ticket your team creates is listed under **Org → Upgrades**, in the
**Created Tickets** section — alongside your upgrade PRs. Each entry shows the
tool, version, and provider, and links straight to the issue. It's the org-wide
view of "what upgrades are in flight."

## Who can do what

| Action                          | Who                                               |
| ------------------------------- | ------------------------------------------------- |
| Connect / disconnect a provider | Org **owner or admin**                            |
| Create a ticket from a release  | **Any** org member (once a provider is connected) |

## Troubleshooting

| You see                                               | Cause                                            | Fix                                                                                       |
| ----------------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------------------- |
| "could not authenticate with the provider" on connect | Token/email/URL wrong, or token lacks permission | Re-create the token; for Jira confirm the site URL and that the account can create issues |
| "that provider isn't connected" when creating         | No connection for that provider yet              | Connect it in Org → Settings → Issue Tracker                                              |
| **Create ticket** shows "Enterprise" / is locked      | Plan doesn't include the integration             | Requires an **Enterprise** plan                                                           |
| Jira ticket created in the wrong project              | Wrong project key                                | Reconnect with the correct key (e.g. `OPS`)                                               |
| Linear connect fails with a valid-looking key         | Used the team **key** instead of the **UUID**    | Use the `id` from the GraphQL query in step 1                                             |

## Notes

* Relnx only sends the **ticket content** (title, change summary, release link)
  to your tracker — nothing else.
* Disconnecting removes the stored credential immediately; existing tickets are
  unaffected.

## Related

* [Check outdated tools in CI](./check-tools-in-ci) — catch drift before it ships.
* [Upgrade tools via pull request](./upgrade-tools-via-pr) — open the actual code
  change, not just a ticket.
