Overview
Add Linear issue tracking integration for PR ↔ Issue correlation.
Webhook Support ✅
Linear has robust webhook support:
Events
- Issue:
create, update, remove
- Comment:
create, update, remove
- Project, Cycle, Label changes
Identification
- Header:
Linear-Signature (HMAC)
- Header:
Linear-Event (event type)
- Payload: Contains
type, action, data, webhookId
Payload Structure
{
"action": "create",
"type": "Issue",
"data": {
"id": "issue_uuid",
"identifier": "ENG-123",
"title": "Fix authentication bug",
"url": "https://linear.app/team/issue/ENG-123",
"state": { "name": "In Progress" },
"assignee": { "name": "John" }
},
"webhookId": "webhook_uuid"
}
GitHub ↔ Linear Correlation
Linear auto-links via:
- Branch names:
eng-123-fix-auth-bug
- PR descriptions: "Fixes ENG-123" or "Linear: ENG-123"
- Magic words: fixes, closes, resolves
Polling Alternative
GraphQL API for queries:
- Query issues, comments, projects
- Filter by
updatedAt for incremental sync
Tasks
Use Cases
- Auto-Transition: Move Linear issue to "In Review" when PR opens
- PR Links: Auto-add Linear issue link to PR description
- Status Sync: Close Linear issue when PR merges
- Comment Sync: Mirror PR review comments to Linear
Overview
Add Linear issue tracking integration for PR ↔ Issue correlation.
Webhook Support ✅
Linear has robust webhook support:
Events
create,update,removecreate,update,removeIdentification
Linear-Signature(HMAC)Linear-Event(event type)type,action,data,webhookIdPayload Structure
{ "action": "create", "type": "Issue", "data": { "id": "issue_uuid", "identifier": "ENG-123", "title": "Fix authentication bug", "url": "https://linear.app/team/issue/ENG-123", "state": { "name": "In Progress" }, "assignee": { "name": "John" } }, "webhookId": "webhook_uuid" }GitHub ↔ Linear Correlation
Linear auto-links via:
eng-123-fix-auth-bugPolling Alternative
GraphQL API for queries:
updatedAtfor incremental syncTasks
LinearPollerinpolling/linear.pyUse Cases