About Rootly CLI
Rootly CLI is an MCP server in the Security category: cLI for managing Rootly incidents, alerts, services, teams, and on-call schedules.
Install
git clone https://github.com/rootlyhq/rootly-cliThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Rootly CLI
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
A command-line interface for managing Rootly incidents, alerts, services, teams, on-call schedules, and pulses from the terminal.
Note: This is the successor to
rootlyhq/cli(now archived). All pulse functionality from the original CLI is included here.
Features
- Full CRUD for incidents, alerts, services, and teams
- Pulse tracking (
rootly pulse create,rootly pulse run) - On-call schedule queries (list schedules, view shifts, who's on-call)
- Alert action shortcuts (
rootly alerts ack,rootly alerts resolve) - Multiple output formats: table, JSON, YAML, markdown
- TTY-aware output (table in terminal, JSON when piped)
- Shell completions for bash, zsh, fish, and PowerShell
- Confirmation prompts for destructive operations
- Pagination and server-side filtering
Installation
Homebrew (macOS/Linux)
brew install rootlyhq/tap/rootly-cli
Go Install
go install github.com/rootlyhq/rootly-cli/cmd/rootly@latest
Download Binary
Download the latest release from the Releases page.
Available for Linux (amd64/arm64), macOS (Intel/Apple Silicon), and Windows (amd64).
Build from Source
git clone https://github.com/rootlyhq/rootly-cli.git
cd rootly-cli
make build
./bin/rootly
Configuration
Set your API key via environment variable or config file:
# Environment variable (recommended for CI/scripts)
export ROOTLY_API_KEY="your-api-key"
# Or config file at ~/.rootly-cli/config.yaml
Config file format (~/.rootly-cli/config.yaml):
api_key: "your-api-key"
api_host: "api.rootly.com" # Optional, defaults to api.rootly.com
Getting an API Key
- Log in to your Rootly account
- Navigate to Settings > API Keys
- Create a new API key with appropriate permissions
Usage
# Incidents
rootly incidents list
rootly incidents list --status=started --severity=critical
rootly incidents get <id>
rootly incidents create --title="Database outage" --severity=critical
rootly incidents update <id> --status=mitigated
rootly incidents delete <id>
# Alerts
rootly alerts list
rootly alerts get <id>
rootly alerts create --summary="High CPU usage" --source=datadog
rootly alerts ack <id>
rootly alerts resolve <id>
# Services
rootly services list
rootly services get <id>
rootly services create --name="api-gateway"
rootly services update <id> --description="Main API gateway"
rootly services delete <id>
# Teams
rootly teams list
rootly teams get <id>
rootly teams create --name="Platform"
rootly teams update <id> --color="#FF5733"
rootly teams delete <id>
# On-Call
rootly oncall schedules # List schedules
rootly oncall who # Who's on-call right now
rootly oncall who --schedule-id=sched-123 # Filter by schedule
rootly oncall who --service-id=svc-456 # Filter by service
rootly oncall shifts # View upcoming shifts (7 days)
rootly oncall shifts --days=14 # Next 14 days
rootly oncall shifts --escalation-policy-id=ep-789
# Pulses
rootly pulse create "Deploy v1.2.3" # Send a pulse
rootly pulse create "Deploy v1.2.3" -l "version=1.2.3,team=backend"
rootly pulse create "Deploy v1.2.3" -s api-gateway -e production
rootly pulse create "Deploy v1.2.3" --source=ci -r "commit=abc123,pr=456"
# Pulse Run (wrap a command and send pulse with timing + exit code)
rootly pulse run -- make deploy
rootly pulse run --summary="Deploy to prod" -- make deploy
rootly pulse run -s api-gateway -l "env=prod" -- make deploy
Pulse Flags
| Flag | Short | Env Var | Description |
|---|---|---|---|
--labels |
-l |
ROOTLY_LABELS |
Key=value pairs, comma-separated |
--services |
-s |
ROOTLY_SERVICES |
Service slugs/IDs, comma-separated |
--environments |
-e |
ROOTLY_ENVIRONMENTS |
Environment slugs/IDs, comma-separated |
--source |
ROOTLY_SOURCE |
Source identifier (default: cli) |
|
--refs |
-r |
ROOTLY_REFS |
Reference key=value pairs, comma-separated |
--summary |
ROOTLY_SUMMARY |
Summary (alternative to positional arg) |
pulse run also accepts --summary (defaults to the command string) and automatically adds an exit_status label with the command's exit code.
Output Formats
# Table (default in terminal)
rootly incidents list
# JSON (default when piped, or explicit)
rootly incidents list --format=json
rootly incidents list --format=json | jq '.[] | .title'
# YAML
rootly incidents get <id> --format=yaml
# Markdown (for documentation or LLM consumption)
rootly incidents list --format=markdown
Pagination & Filtering
# Pagination
rootly incidents list --page-size=50 --page=2
# Filtering
rootly incidents list --status=started --severity=critical
rootly alerts list --source=datadog
rootly services list --name=api
# Sorting (prefix with - for descending)
rootly incidents list --sort=created_at
rootly incidents list --sort=-created_at
Global Flags
| Flag | Short | Env Var | Description |
|---|---|---|---|
--api-key |
-k |
ROOTLY_API_KEY |
Rootly API key |
--api-host |
ROOTLY_API_HOST |
API host (default: api.rootly.com) |
|
--format |
Output format: table, json, yaml, markdown |
||
--debug |
-d |
ROOTLY_DEBUG |
Enable debug output |
--quiet |
-q |
ROOTLY_QUIET |
Suppress non-essential output |
--no-color |
Disable colored output |
Command Reference
| Command | Subcommands | Aliases |
|---|---|---|
rootly incidents |
list, get, create, update, delete |
incident, inc |
rootly alerts |
list, get, create, update, ack, resolve |
alert, alr |
rootly services |
list, get, create, update, delete |
service, svc |
rootly teams |
list, get, create, update, delete |
team |
rootly oncall |
schedules, shifts, who |
on-call |
rootly pulse |
create, run |
pulses |
rootly completion |
bash, zsh, fish, powershell |
|
rootly version |
Shell Completions
# Bash
rootly completion bash > /etc/bash_completion.d/rootly
# Zsh
rootly completion zsh > "${fpath[1]}/_rootly"
# Fish
rootly completion fish > ~/.config/fish/completions/rootly.fish
Development
Prerequisites
- Go 1.24+
- Make
Build & Test
make build # Build binary
make test # Run tests
make lint # Run linter
make check # Format, lint, and test
make coverage # Tests with coverage report
Release
Releases are automated via GoReleaser when a new tag is pushed:
make release-patch # v0.1.0 -> v0.1.1
make release-minor # v0.1.0 -> v0.2.0
make release-major # v0.1.0 -> v1.0.0
License
MIT License - see LICENSE for details.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.