Skip to content

AprilNEA/linear-notify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Linear Notify

A webhook forwarder service that receives notifications from Linear and forwards them to various messaging platforms with rich formatting.

Features

  • πŸš€ Discord Integration: Receives Linear webhooks and sends beautifully formatted messages to Discord channels
  • πŸ” Secure: Validates webhook signatures to ensure authenticity
  • ⚑ Fast: Built on Cloudflare Workers for global edge deployment
  • πŸ§ͺ Well Tested: Comprehensive test coverage with Vitest

Supported Platforms

  • βœ… Discord - Currently supported
  • πŸ”„ Telegram - Coming soon
  • πŸ“‹ More platforms - Slack, Teams, and others planned

Setup

Prerequisites

  • Node.js 18+
  • A Cloudflare account
  • Discord webhook URL
  • Linear workspace with webhook access

Installation

npm install

Configuration

Set up the following environment variables in your Cloudflare Worker:

  • DISCORD_WEBHOOK_URL: Your Discord webhook URL
  • LINEAR_WEBHOOK_SECRET: (Optional) Linear webhook secret for signature validation

Development

Start the development server:

pnpm run dev

Testing

Run the test suite:

pnpm run test

Run tests with coverage:

pnpm run test:coverage

Deployment

Deploy to Cloudflare Workers:

pnpm run deploy

Type Generation

Generate types based on your Worker configuration:

pnpm run cf-typegen

Usage

Discord Integration

  1. Create a Discord webhook in your desired channel
  2. Set the DISCORD_WEBHOOK_URL environment variable
  3. Configure Linear to send webhooks to: https://your-worker-domain.workers.dev/discord/webhook

The service will automatically format Linear events (issues, comments, status changes, etc.) into rich Discord embeds.

Webhook Endpoint

  • Discord: POST /discord/webhook
  • Health Check: GET / - Returns service status

Development

The project uses:

  • Hono - Fast web framework for Cloudflare Workers
  • Linear SDK - Official Linear API SDK
  • Vitest - Testing framework
  • TypeScript - Type safety

Project Structure

src/
β”œβ”€β”€ index.ts          # Main application entry point
β”œβ”€β”€ linear.ts         # Linear webhook validation
β”œβ”€β”€ libs/
β”‚   └── discord.ts    # Discord message formatting and sending
└── routes/
    └── discord.ts    # Discord webhook route handler

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Run the test suite
  6. Submit a pull request

License

MIT

Roadmap

  • Telegram bot integration
  • Slack integration
  • Microsoft Teams support
  • Webhook replay functionality
  • Message customization templates
  • Multiple destination support per webhook

About

πŸ”” Bridge Linear webhooks to Discord, Telegram, Slack and more. Deploy with Docker, Node.js, or serverless platforms like Cloudflare Workers.

Topics

Resources

License

Stars

4 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors