> For the complete documentation index, see [llms.txt](https://docs.duku.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.duku.ai/integrations/linear.md).

# Linear

Send Duku findings to Linear and track ticket progress in the issue inbox.

**Linear integration overview**

The Linear integration lets you file a Duku issue as a ticket in Linear. Duku creates the ticket from the issue, then keeps its ticket stage up to date in the issue inbox.

The integration is configured once for your organisation. Choose a Linear team as the destination, then create tickets from individual issue detail pages.

{% hint style="info" %}
A ticket's **stage** and a Duku issue's **status** are separate. **Stage** shows the partner's progress in Linear. **Status** is Duku's triage judgement: **Open**, **Triaged**, **Resolved**, or **Ignored**. Only a person changes status in Duku. An issue can be **Open** with a ticket stage of **Landed**. This is expected.
{% endhint %}

### Prerequisites

* You are an organisation admin in Duku.
* You have a Linear workspace and can authorise third-party apps in it.
* You configure the integration per organisation, not per product.
* Connecting Linear and choosing the destination need an org admin. Any org member can file tickets.

### Connecting Linear

#### 1. Integrations before you connect

![Connect Linear in Organisation settings](https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2FD74ZQEC2Mhtvo4mdTGBO%2F02-connect-dialog.png?alt=media\&token=3f769b3c-9127-42f6-93aa-05e5c1b3f9e1)

1. Open **Organisation settings → Integrations**.
2. Select **+ Connect**.
3. Choose provider `linear` and variant `cloud`.
4. Select **Connect with linear (OAuth)**.

#### 2. Connect dialog

![Connect Linear with OAuth](https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2FVQCyCOp3L9fuDgAwZqSs%2F03-set-destination.png?alt=media\&token=8fff128a-c9fe-473b-986f-ab1742c3b212)

5. In the Linear popup, authorise Duku for your workspace.

The popup closes and returns you to Duku after authorisation.

### Choosing where tickets are filed

After you connect, Duku opens the destination picker. It lists the teams in your Linear workspace.

Choose the team where new tickets should be created. Until you set a destination, the connection shows **Pending setup**. You can change the destination later from the same row.

#### 3. Linear is connected

![Linear connection in Organisation settings](https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2FPp9xm2HWC8pfXdMQrATV%2F04-settings-connected.png?alt=media\&token=acf515de-c0f2-4258-acf7-eec8019bf1fe)

### Filing an issue

Open an issue and find the **Ticket** row in the Details card. Select **Create ticket**.

#### 4. Create a ticket from an issue

![Create a ticket from the issue Details card](https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2Fgu9LtWCb4f1EBdRZeseS%2F05-issue-create-ticket.png?alt=media\&token=9513e780-2fa5-49ed-a810-1633bd0571bf)

The dialog includes optional **Title override** and **Body override** fields. Leave both blank. Duku fills the ticket from the issue itself.

![Create ticket dialog](https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2F43vD7GT0rEmkc8NblrKv%2F06-create-ticket-dialog.png?alt=media\&token=f179919c-b6c9-4611-9653-917bea9e5501)

### What ends up in the ticket

Duku creates the ticket with:

* The issue title as the ticket title.
* The issue analysis and the reporter's grouping rationale as the description.
* A **Duku issue** attachment that links back to the issue.

#### 5. Filed ticket in Duku

![Filed Linear ticket in Duku](https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2F8L2MMnMylqgubEebTSGm%2F07-issue-filed-confirmed.png?alt=media\&token=9f9bce5c-a5e7-4a06-91bd-97e3e440326c)

After filing, the **Ticket** row shows the Linear key, such as `ENG-412`, as a link. It also shows the current stage and filing time.

#### 6. Ticket in Linear

![Linear ticket created from the Duku issue](https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2FkXzf1PetR4cenBbfQgjg%2F08-issue-landed.png?alt=media\&token=3fb184c0-ec44-42e2-a410-d1597e49a4a2)

### How the stage syncs back

Duku watches the Linear ticket and updates its stage in the issue inbox.

| Linear state                   | Stage in Duku  |
| ------------------------------ | -------------- |
| Triage, Backlog                | Confirmed      |
| Todo, In Progress              | In remediation |
| Done                           | Landed         |
| Canceled (including Duplicate) | Rejected       |

#### 7. Ticket stage in Duku

![Landed ticket stage in Duku](https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2F4wgVoqkd9Kh57PVM2WjU%2F09-ticket-in-linear.png?alt=media\&token=1f61fad1-cfcd-45e6-8e7f-8a5b5887306a)

**Landed** identifies findings that were fixed. **Rejected** also marks the issue as a false positive. This feeds Duku's detection-quality measurement.

Closing a Linear ticket changes its ticket stage. It does not change the Duku issue's status.

### Disconnecting

Disconnecting removes the connection and stops new tickets being filed. Existing tickets stay in Linear, and Duku stops updating their stage.
