Skip to main content
POST
Link a ticket to a test case

Authorizations

Authorization
string
header
required

An org-scoped API key, sent as Authorization: Bearer <key>. Existing v1 tokens work here unchanged. There is no enqueue-only or read/write scope: an org key authorized for merge-queue writes can invoke every merge-queue mutation, including changing merge-protection configuration and pausing, draining or deleting a queue.

Path Parameters

testCaseId
string
required

The test case's globally unique id.

Minimum string length: 1
Example:

"bfeebcf4-0000-8000-8000-000000000001"

Body

application/json

The ticket to link to a test case in a test collection.

externalTicketId
string
required

The ticket to link, as its provider key (TRUNK-123, a Linear identifier, an Asana task gid) or as its browser URL — either form is accepted.

Required string length: 1 - 2048
Example:

"TRUNK-1234"

integrationId
string<uuid>

Which of the organization's ticketing connections the ticket lives on. Defaults to the collection's default connection.

Example:

"2b3c4d5e-6f70-4a1b-8c9d-0e1f2a3b4c5d"

Response

The linked ticket

id
string
required

Trunk's id for the linked ticket.

Example:

"5d4c3b2a-1f0e-4a1b-8c9d-0e1f2a3b4c5d"

provider
enum<string>
required

The ticketing system a ticket lives in.

Available options:
jiraCloud,
linear,
asana
Example:

"jiraCloud"

key
string
required

The provider's human-readable key. Mutable on some providers (a Jira issue moved between projects gets a new one).

Example:

"TRUNK-1234"

url
string<uri>
required
Example:

"https://acme.atlassian.net/browse/TRUNK-1234"

title
string
required
Example:

"[Flaky Test] suite::test_case_name"

status
string
required

The provider's status name, as last synced.

Example:

"In Progress"

assignee
string | null
required

The provider's assignee display name; null when unassigned.

Example:

"Ada Lovelace"

syncedAt
string<date-time>
required

When Trunk last read the ticket back from its provider.

Example:

"2026-09-15T14:45:01.000Z"