checkitonus/cachet-api

PHP Implementation of the Cachet API

1.0.12 2020-07-07 12:47 UTC

This package is auto-updated.

Last update: 2024-03-20 23:29:04 UTC


README

CheckItOn.Us Logo

Build Status

Easy to use Cachet API implementation.

Installation

$ composer require checkitonus/cachet-api
{
    "require": {
        "checkitonus/cachet-api": "~1"
    }
}

Then, in your PHP file, all you need to do is require the autoloader:

require_once 'vendor/autoload.php';

use CheckItOnUs\Cachet\Server;

$server = new Server([
    'api_key' => 'API-KEY',
    'base_url' => 'https://demo.cachethq.io', // The base URL for the Cachet installation
]);

// Should return pong
echo $server->ping();

API Components

Once installed, you will have access to several objects all of which will hit the API and retrieve the data as needed.

Please Note: Although all of these samples are using the Component class, they are available for the following objects:

  • CheckItOnUs\Cachet\Component
  • CheckItOnUs\Cachet\ComponentGroup
  • CheckItOnUs\Cachet\Incident
  • CheckItOnUs\Cachet\IncidentUpdate (In development - Cachet 2.4 feature)
require_once 'vendor/autoload.php';

use CheckItOnUs\Cachet\Server;
use CheckItOnUs\Cachet\Component;

$server = new Server([
    'api_key' => 'API-KEY',
    'base_url' => 'https://demo.cachethq.io', // The base URL for the Cachet installation
]);

// Find a component based on the name
$component = Component::on($server)->findByName('API');

// Find a component based on the ID
$component = Component::on($server)->findById(1);

// Find all components
Component::on($server)->all();

CRUD Operations

Creation

require_once 'vendor/autoload.php';

use CheckItOnUs\Cachet\Server;
use CheckItOnUs\Cachet\Component;

$server = new Server([
    'api_key' => 'API-KEY',
    'base_url' => 'https://demo.cachethq.io', // The base URL for the Cachet installation
]);

// Fluent API
$component = (new Component($server))
                ->setName('Name Here')
                ->setStatus(Component::OPERATIONAL)
                ->create();

Update

require_once 'vendor/autoload.php';

use CheckItOnUs\Cachet\Server;
use CheckItOnUs\Cachet\Component;

$server = new Server([
    'api_key' => 'API-KEY',
    'base_url' => 'https://demo.cachethq.io', // The base URL for the Cachet installation
]);

// Fluent API
Component::on($server)
    ->findById(1)
    ->setName('Name Here')
    ->setStatus(Component::OPERATIONAL)
    ->update();

Delete

require_once 'vendor/autoload.php';

use CheckItOnUs\Cachet\Server;
use CheckItOnUs\Cachet\Component;

$server = new Server([
    'api_key' => 'API-KEY',
    'base_url' => 'https://demo.cachethq.io', // The base URL for the Cachet installation
]);

// Fluent API
Component::on($server)
    ->findById(1)
    ->delete();