romeritocl/cachet-api-client

Cachet Api客户端

v1.1.0 2019-09-24 14:44 UTC

README

CircleCI: CircleCI

Latest Stable Version composer.lock Scrutinizer Code Quality

✋ 这是啥?

为CachetHQ提供的简单API客户端。这是一个基于PHP的API客户端,可以帮助您组织调用并支持所有Cachet API端点的对象和模型。Cachet是一个用PHP编写的开源状态页面系统。 https://github.com/CachetHQ/Cachet

💾 安装

通过以下方式安装库

https://github.com/romeritoCL/cachet-api-client/releases/latest

  • 使用Composer
composer require romeritocl/cachet-api-client

最后,请确保包含自动加载器

require_once '/path/to/your-project/vendor/autoload.php';

一旦库准备就绪并位于项目中,占位符对象将可用,客户端类也将可用。

用法

设置

use DevoraliveCachet\Client;

$endpoint = 'https://demo.cachethq.io/api/v1/';
$token    = '9yMHsdioQosnyVK4iCVR';

$client = new Client($endpoint, $token);

独立错误

Doctrine注解错误

PHP Fatal error:  Uncaught exception 'Doctrine\Common\Annotations\AnnotationException' with message '[Semantical Error] The annotation "@JMS\Serializer\Annotation\Type" in property (...) does not exist, or could not be auto-loaded.'

可以通过注册JMS命名空间来解决它,找到您的bootstrap.php文件,并在末尾添加此行

Doctrine\Common\Annotations\AnnotationRegistry::registerLoader('class_exists');

组件

获取组件

$components = $client->getComponents();

foreach ($components as $component) {
    echo $component->getName();
}

排序

$components = $client->getComponents([
    'sort' => 'id',
    'order' => 'desc'
]);

通过ID获取

$component = $client->getComponent(3);

创建新组件

$component = new Component();
$component->setName('My new component');
$component->setDescription('Component description');
$component->setLink('https://github.com/mangati/cachet');
$component->setStatus(Component::STATUS_OPERATIONAL);

$client->addComponent($component);

更新现有组件

$component = new Component();
$component->setId(3);
$component->setName('My new component (updated)');

$client->updateComponent($component);

删除现有组件

$id = 3;

$client->deleteComponent($id);

事件

获取事件

$incidents = $client->getIncidents();

foreach ($incidents as $incident) {
    echo $incident->getName();
}

排序

$incidents = $client->getIncidents([
    'sort' => 'id',
    'order' => 'desc'
]);

通过ID获取

$incident = $client->getIncident(3);

创建新事件

$incident = new Incident();
$incident->setName('My new incident');
$incident->setMessage('incident message');
$incident->setStatus(Incident::STATUS_WATCHING);

$client->addIncident($incident);

更新现有事件

$incident = new Incident();
$incident->setId(3);
$incident->setStatus(Incident::STATUS_FIXED);

$client->updateIncident($incident);

删除现有事件

$id = 3;

$client->deleteIncident($id);