Linear
Connect QA Hub to Linear to search issues from the Dashboard and enable automatic bug status polling.
Prerequisites
- A Linear workspace with API access
- A Linear personal API key
Generate a Linear API key
- Go to linear.app → Settings → API → Personal API keys.
- Click Create key, give it a label (e.g., "QA Hub").
- Copy the key — it is shown only once.
Configure in QA Hub
- Go to Settings → Integrations.
- Select Linear as your connector.
- Enter your API Key.
- Click Test connection.
- Click Save.
Searching issues
The Dashboard search queries Linear's GraphQL API. Filters available:
| Filter | Description |
|---|---|
| Keyword | Matches issue title and description |
| Status | Filter by workflow state (e.g., "In Progress") |
| Label | Filter by label (e.g., "bug", "feature") |
| Priority | Urgent, High, Medium, Low, No priority |
| Team | Filter by Linear team |
Bug status polling
When Linear is your active connector, QA Hub's background poller checks linked Linear issue statuses at a configurable interval (default: 30 seconds). When an issue reaches the configured done status (default: "Done"), QA Hub:
- Marks the bug as resolved in the Bug Tracker
- Queues the associated test case in the Retest queue
- Sends an in-app notification and fires a
bug.resolvedwebhook
Configure polling
Go to Settings → Analytics:
- Check interval — How often to poll (in seconds). Lower values mean faster detection but more API calls.
- Done status — The Linear status name that signals a bug is resolved. Default:
"Done".
Issue shape
Each Linear issue returned by QA Hub includes:
{
"key": "LIN-123",
"title": "Guest checkout fails on mobile",
"description": "...",
"status": "In Progress",
"priority": "Urgent",
"labels": ["bug", "mobile"],
"url": "https://linear.app/acme/issue/LIN-123"
}