Giter Site home page Giter Site logo

pagerduty's Introduction

pagerduty

Gem Version Build Status

Provides a lightweight Ruby interface for calling the PagerDuty Integration API.

Installation

Add this line to your application's Gemfile:

gem 'pagerduty'

And then execute:

$ bundle

Or install it yourself as:

$ gem install pagerduty

Usage

# Don't forget to require the library
require "pagerduty"

# Instantiate a Pagerduty with your specific service key
pagerduty = Pagerduty.new("<my-service-key>")

# Trigger an incident
incident = pagerduty.trigger("incident description")

# Acknowledge and/or resolve the incident
incident.acknowledge
incident.resolve

There are a whole bunch of properties you can send to PagerDuty when triggering an incident. See the PagerDuty documentation for the specifics.

pagerduty.trigger(
  "incident description",
  :incident_key => "my unique incident identifier",
  :client       => "server in trouble",
  :client_url   => "http://server.in.trouble",
  :details      => { :my => "extra details" },
)

Upgrading to Version 2.0.0

The API has changed in three ways that you need to be aware of:

  1. Pagerduty class initialiser no longer accepts an incident_key. This attribute can now be provided when calling the #trigger method (see above).

  2. Pagerduty#trigger arguments have changed to accept all available options rather than just details.

    # This no longer works post v2.0.0. If you're
    # providing details in this form, please migrate.
    pagerduty.trigger("desc", :key => "value")
    
    # Post v2.0.0 this is how to send details (migrate to this please).
    pagerduty.trigger("desc", :details => { :key => "value" })
  3. PagerdutyException now extends from StandardError rather than Exception. This may affect how you rescue the error. i.e. rescue StandardError will now rescue a PagerdutyException where it did not before.

Contributing

  1. Fork it ( https://github.com/[my-github-username]/pagerduty/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

pagerduty's People

Contributors

orien avatar lparry avatar notahat avatar rabidcarrot avatar technicalpickles avatar gregburek avatar keithpitt avatar

Watchers

Christopher Mark Gore avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.