Serve Command

Start the real-time web dashboard server with Server-Sent Events (SSE) for live pipeline monitoring.

Usage:

  gitlab-summary serve --group <GROUP> [OPTIONS]
  

Options

Required

OptionShortDescriptionExample
--group-gGitLab group ID or pathmy-org, 456, team/infra

Optional

OptionShortDescriptionDefaultExample
--since-sInitial time range for pipelines24h12h, 7d
--portHTTP server port51008080, 3000
--openOpen browser automaticallyfalseN/A (flag)
--intervalSSE update interval (seconds)3015, 60, 120
--ai-modelCopilot model for AI analysisclaude-sonnet-4-5claude-opus-4, gpt-4
--url-uOverride GitLab instance URLConfig valuehttps://gitlab.com

How It Works

The serve command:

  1. Starts HTTP server — Serves the Vue.js dashboard on the specified port
  2. Establishes SSE connection — Opens a persistent connection for real-time updates
  3. Polls GitLab API — Fetches pipeline data at the configured interval
  4. Pushes updates — Sends new data to connected browsers via SSE
  5. Caches AI analyses — Stores GitHub Copilot insights for quick access

The dashboard will be accessible at http://localhost:5100 (or your custom port).


Basic Usage

Start server:

  gitlab-summary serve --group my-org
  

Access at: http://localhost:5100

Start with browser:

  gitlab-summary serve --group my-org --open
  

Automatically opens your default browser.


Custom Port

  gitlab-summary serve --group my-org --port 8080
  

Access at: http://localhost:8080


Custom Refresh Interval

  gitlab-summary serve --group my-org --interval 60
  

Updates every 60 seconds (default: 30).


Custom Time Range

  gitlab-summary serve --group my-org --since 7d
  

Shows pipelines from the last 7 days.

Note: Time range can be changed dynamically in the dashboard UI.


Custom AI Model

Choose a different Copilot model for AI analysis:

  gitlab-summary serve --group my-org --ai-model claude-opus-4
  

Available models include:

  • claude-sonnet-4-5 (default, fast and efficient)
  • claude-opus-4 (most capable, slower)
  • gpt-4 (OpenAI model)

Note: Can also be set via COPILOT_MODEL environment variable in Docker deployments.


Full Configuration Example

Start dashboard with all options:

  gitlab-summary serve --group my-org --port 8080 --interval 60 --since 7d --open
  
  • Serves on port 8080
  • Updates every 60 seconds
  • Shows last 7 days of pipelines
  • Opens browser automatically

Dashboard Features

When the dashboard is running, you can:

  • View real-time updates — Pipeline statuses refresh automatically
  • Navigate group hierarchy — Browse parent/child groups and switch between them
  • Drill into pipelines — Click any pipeline to view jobs, commits, and contributors
  • Analyze failures with AI — Use GitHub Copilot to investigate job failures
  • View commit details — See timestamps, authors, and clickable links to GitLab
  • Track contributors — See who’s triggering pipelines and their success rates
  • Review AI history — Access all cached AI analyses across projects
  • Switch time ranges — Change from 1 day to 30 days in the UI
  • Toggle themes — Switch between light and dark mode

Server Logs

The server outputs helpful information:

  Starting SSE server...
Group: my-org (ID: 2310)
Interval: 30 seconds
Port: 5100
Dashboard: http://localhost:5100

✓ Server started successfully
✓ Watching for updates...

[14:32:15] Fetched 45 pipelines across 8 projects
[14:32:45] Fetched 46 pipelines across 8 projects (1 new)
  

Stopping the Server

Press Ctrl+C to gracefully shut down the server.


Common Use Cases

1. Team Dashboard

Run the dashboard on a shared screen for team visibility:

  gitlab-summary serve --group my-org --open --interval 60
  

Updates every minute, showing real-time pipeline health for the entire team.

2. CI/CD Monitoring

Monitor critical infrastructure projects during deployments:

  gitlab-summary serve --group production --interval 15
  

Fast 15-second updates for rapid feedback during high-stakes changes.

3. Executive Overview

Show high-level metrics to stakeholders:

  gitlab-summary serve --group company --since 30d --interval 300
  

Shows 30-day trends with 5-minute refresh intervals.

4. Development Workflow

Keep the dashboard open during development:

  gitlab-summary serve --group my-team --open
  

See your own pipeline results in real-time as you push commits.

5. Custom Port for Multiple Groups

Run multiple instances to monitor different groups:

  # Terminal 1
gitlab-summary serve --group backend --port 5100

# Terminal 2
gitlab-summary serve --group frontend --port 5101
  

Access backend at http://localhost:5100 and frontend at http://localhost:5101.


Browser Support

The dashboard works best on:

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

Requires:

  • Server-Sent Events (SSE) support
  • ES2020 JavaScript
  • LocalStorage for preferences