Skip to content

feat: bidirectional Linear messaging channel#394

Merged
vincentgrobler merged 1 commit into
mainfrom
feat/linear-channel
May 11, 2026
Merged

feat: bidirectional Linear messaging channel#394
vincentgrobler merged 1 commit into
mainfrom
feat/linear-channel

Conversation

@vincentgrobler
Copy link
Copy Markdown
Collaborator

@vincentgrobler vincentgrobler commented May 11, 2026

Description

  • Migration 081: add 'linear' to messaging_channels platform, create linear_issue_mappings table with RLS
  • Edge Function channel-linear: inbound webhook handler with configurable triggers (create, state_change, label), HMAC signature verification, duplicate detection, priority mapping
  • Edge Function linear-webhook-register: creates Linear webhook via GraphQL API and fetches team workflow states
  • Task runner: replyLinear() posts comment on issue + optional state change to configured done state
  • Frontend: Linear channel config form with API key, team ID, trigger modes, trigger states/labels, and done state fields
  • ChannelPlatform type extended with 'linear'

Related Issue

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to change)
  • 📝 Documentation update
  • ♻️ Refactor (no functional changes)
  • 🧪 Test update

How Has This Been Tested?

  • Unit tests
  • Manual testing
  • Browser testing (specify browsers)

Screenshots (if applicable)

Checklist

  • My code follows the project's coding standards
  • I have run npm run lint and there are no errors
  • I have run npm run test and all tests pass
  • I have added tests for my changes (if applicable)
  • I have updated the documentation (if applicable)
  • My source files have AGPL licence headers
  • My changes generate no new TypeScript errors

- Migration 081: add 'linear' to messaging_channels platform, create
  linear_issue_mappings table with RLS
- Edge Function channel-linear: inbound webhook handler with
  configurable triggers (create, state_change, label), HMAC signature
  verification, duplicate detection, priority mapping
- Edge Function linear-webhook-register: creates Linear webhook via
  GraphQL API and fetches team workflow states
- Task runner: replyLinear() posts comment on issue + optional state
  change to configured done state
- Frontend: Linear channel config form with API key, team ID, trigger
  modes, trigger states/labels, and done state fields
- ChannelPlatform type extended with 'linear'
@vercel
Copy link
Copy Markdown

vercel Bot commented May 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
crewform Ready Ready Preview, Comment May 11, 2026 7:10pm

@vincentgrobler vincentgrobler merged commit db912d7 into main May 11, 2026
8 checks passed
@vincentgrobler vincentgrobler deleted the feat/linear-channel branch May 11, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant