0.0
No release in over 3 years
Connects LegionIO to PagerDuty
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

 Project Readme

lex-pagerduty

PagerDuty integration for LegionIO. Manage incidents, services, escalation policies, schedules, users, teams, on-calls, priorities, maintenance windows, log entries, notifications, tags, abilities, and vendors via the PagerDuty REST API v2.

Installation

gem install lex-pagerduty

Or add to your Gemfile:

gem 'lex-pagerduty'

Standalone Usage

require 'legion/extensions/pagerduty'

client = Legion::Extensions::Pagerduty::Client.new(token: 'your-api-token')

# Incidents
client.list_incidents(statuses: ['triggered', 'acknowledged'])
client.create_incident(title: 'Server down', service_id: 'PSVC123')
client.update_incident(id: 'PINC456', from: 'user@example.com', status: 'acknowledged')
client.snooze_incident(id: 'PINC456', from: 'user@example.com', duration: 3600)

# Services
client.list_services
client.create_service(name: 'My App', escalation_policy_id: 'PEP789')

# Schedules
client.list_schedules
client.list_on_call_users(id: 'PSCH123')

# Users & Teams
client.list_users(query: 'john')
client.add_member(team_id: 'PTEAM1', user_id: 'PUSER1')

Runners

Runner Operations
Incidents List, create, get, update, merge, snooze, notes, alerts
Services List, create, get, update, delete, integrations
EscalationPolicies List, create, get, update, delete
Schedules List, create, get, update, delete, overrides, on-call users
Users List, create, get, update, delete, contact methods, notification rules
Teams List, create, get, update, delete, add/remove members
OnCalls List on-call entries
Priorities List priorities
MaintenanceWindows List, create, get, update, delete
LogEntries List, get
Notifications List
Tags List, create, get, delete, assign/remove from entities
Abilities List, test
Vendors List, get

Requirements

  • Ruby >= 3.4
  • PagerDuty account with API token
  • LegionIO framework (optional — standalone Client works without it)

License

MIT