Back to Templates

Manage Claude Code sessions from Matrix with YouTrack and GitLab

Last update

Last update 10 hours ago

Categories

Share


Manage AI coding sessions from Matrix with YouTrack and GitLab

Who is this for

Development teams using Claude Code who want a chat-ops interface for
project management. Instead of SSH-ing into a server to run Claude,
your whole team interacts with it through a Matrix chat room — with
issue tracking and CI/CD pipeline visibility built in.

What it does

  • Polls a Matrix room every 30 seconds and routes commands to handlers
  • Forwards messages to Claude Code sessions via SSH, posts responses back
  • Manages multiple concurrent sessions — start, pause, resume, switch, end
  • Updates YouTrack issues directly from chat (change state, post comments, query status)
  • Fetches GitLab CI pipeline status and logs, retries failed pipelines
  • Reports server load and Claude process status
  • Tracks sessions in SQLite with lock-based concurrency and cooldown guards

Template Image

Screenshot from 20260312 183201.png

How it works

The workflow polls a Matrix room for new messages. A command router
parses !commands and dispatches them to the right handler:

  • Regular messages resume an active Claude Code session and post the response
  • !session — manage sessions (current, list, done, cancel, pause, resume, switch, log)
  • !issue — update YouTrack issues (status, info, start, stop, verify, done, close, comment)
  • !pipeline — fetch GitLab CI pipeline status and logs, retry failed pipelines
  • !system — report server load and running processes
  • !help — show command reference

Requirements

  • Matrix homeserver with a bot account (E2EE must be disabled —
    n8n cannot decrypt Matrix messages)
  • YouTrack instance with API token
  • GitLab instance with API token
  • Linux server with Claude Code CLI installed, accessible via SSH
  • n8n self-hosted with SSH private key credentials configured

This is a self-hosted template. It requires your own infrastructure —
it will not run on n8n Cloud without a server accessible via SSH.

How to set up

  1. Import the workflow into n8n
  2. Edit the Gateway Config Set node with your URLs and paths
  3. Set YOUTRACK_TOKEN and GITLAB_TOKEN as environment variables
    on your server (not in the workflow)
  4. Create n8n credentials: SSH Private Key and HTTP Header Auth
    (Matrix bot token as Authorization: Bearer <token>)
  5. Create the SQLite database on your server:
CREATE TABLE sessions (
  issue_id TEXT PRIMARY KEY, issue_title TEXT,
  session_id TEXT, started_at TEXT, last_active TEXT,
  message_count INTEGER DEFAULT 0, paused INTEGER DEFAULT 0,
  is_current INTEGER DEFAULT 0
);
CREATE TABLE queue (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  issue_id TEXT, message TEXT, queued_at TEXT
);
CREATE TABLE session_log (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  issue_id TEXT, issue_title TEXT, session_id TEXT,
  started_at TEXT, ended_at TEXT,
  message_count INTEGER, outcome TEXT
);
  1. Activate the workflow

How to customize

  • Add commands — add a case to the Command Router Switch node
  • Change polling interval — edit the Schedule Trigger node
  • Swap issue tracker — replace YouTrack API calls with Jira or Linear
  • Swap chat platform — replace Matrix HTTP nodes with Slack or Discord
  • Add pipeline detail — extend Handle Pipeline to fetch individual job logs