Project

cachet_api

0.01
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Ruby library wrapper for CachetHQ.io - Beautiful & simple service statuses - The open source status page system, for everyone
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

Cachet API Library Wrapper

Travis CI Code Climate Test Coverage Issue Count Inline docs Gem Gem

Ruby library wrapper for CachetHQ.io

Installation

Add this line to your application's Gemfile:

gem 'cachet_api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install cachet_api

Usage

# Under your profile in Cachet, get your api_key from the API Token section. Base url is https://demo.cachethq.io/api/v1/ or https://cachet.yourdomain.com/api/v1/

require 'cachet' # have an issue open to fix this, will force v2.0.0

CachetClient = CachetClient.new(api_key, base_url)
CachetComponents = CachetComponents.new(api_key, base_url)
CachetIncidents = CachetIncidents.new(api_key, base_url)
CachetMetrics = CachetMetrics.new(api_key, base_url)
CachetSubscribers = CachetSubscribers.new(api_key, base_url)

View the last release API documentation at: https://docs.cachethq.io/

Library to API Quick Reference

See RubyDoc for more in-depth documentation

Ping

Cachet API Ruby Library Options/Params
get/ping CachetClient.ping N/A

Components

Cachet API Ruby Library Options/Params (R) == Required
get/components CachetComponents.list Options (hash) : id, name, status, group_id, enabled
get/components/:id CachetComponents.list_id Options (hash) : id
post/components CachetComponents.create Options (hash) : name(R), status(R), description, link, order, group_id, enabled
put/components/:id CachetComponents.update Options (hash) : id(R), status(R), name(R), link, order, group_id, enabled
delete/components/:id CachetComponents.delete Options (hash) : id(R)
get/components/groups CachetComponents.groups_list N/A
get/components/groups/:id CachetComponents.groups_list_id Options (hash) : id(R)
post/components/groups CachetComponents.groups_create Options (hash) : name(R), order, collapsed(R)
put/components/groups/:id CachetComponents.groups_update Options (hash) : id(R), name, order, collapsed
delete/components/groups/:id CachetComponents.groups_delete Options (hash) : id(R)

Incidents

Cachet API Ruby Library Options/Params (R) == Required
get/incidents CachetIncidents.list Options (hash) : id, component_id, name, status, visible
get/incidents/:id CachetIncidents.list_id Options (hash) : id
post/incidents CachetIncidents.create Options (hash) : name(R), message(R), status(R), visible(R), component_id, component_status, notify
put/incidents/:id CachetIncidents.update Options (hash) : id(R), name, message, status, visible, component_id, component_status, notify
delete/incidents/:id CachetIncidents.delete Options (hash) : id

Metrics

Cachet API Ruby Library Options/Params (R) == Required
get/metrics CachetMetrics.list N/A
post/metrics CachetMetrics.create Options (hash) : name(R), suffix(R), description(R), default_value(R), display_chart(R)
get/metrics/:id CachetMetrics.list_id Options (hash) : id(R)
delete/metrics/:id CachetMetrics.delete Options (hash) : id(R)
get/metrics/:id/points CachetMetrics.point_list Options (hash) : id (R)
post/metrics/:id/points CachetMetrics.point_add Options (hash) : id(R), value(R), timestamp
delete/metrics/:id/points/:point_id CachetMetrics.point_delete Options (hash) : id(R), point_id(R)

Subscribers

Cachet API Ruby Library Options/Params (R) == Required
get/subscribers CachetSubscribers.list N/A
post/subscribers CachetSubscribers.create Options (hash) : email(R), verify
delete/subscribers/:id CachetSubscribers.delete Options (hash) : id(R)

Development

After checking out the repo

  • Run bin/setup
  • To run IRB with quick configuration, rake console
  • To install this gem onto your local machine, run bundle exec rake install

Contribute

Fork this repo

  • Make your changes
  • Create/Update RSPEC Tests
  • Document changes inline (if needed, aka new options)
  • Document readme with changes
  • Submit pull request