romeritocl/cachet-api-client
Cachet Api客户端
v1.1.0
2019-09-24 14:44 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ~6.0
- jms/serializer: ^3
Requires (Dev)
- phpunit/phpunit: ^8.3
This package is auto-updated.
Last update: 2024-09-19 22:21:21 UTC
README
✋ 这是啥?
为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);