happydemon/statuscake

状态蛋糕API的接口

0.2.1 2019-12-09 10:11 UTC

This package is auto-updated.

Last update: 2024-09-09 20:24:41 UTC


README

#状态蛋糕API封装器

状态蛋糕是一个监控服务,它通过HTTP/TCP/PING监控网站/服务器。

此项目封装了状态蛋糕提供的大多数端点。

安装

通过Composer

composer require happydemon/statuscake

用法

设置客户端

$statusCake = new StatusCake\Client(`USER', 'TOKEN');

检查凭证是否有效

$statusCake->validAccount(); // return true or false

获取 基本账户信息

$statusCake->account();

测试

这些实际上是您的监控器,每个测试都代表您正在监控的网站。

每个返回的测试将被解析为类 StatusCake\Test,所有属性都有文档记录,请务必查看。

创建测试

要创建测试,您需要初始化 StatusCake\Test。实际上只需要几个属性;网站名称、网站URL、测试类型。

$test = new StatusCake\Test();

// Required parameters
$test->websiteName = 'HappyDemon';
$test->websiteURL = 'http://happydemon.xyz';
$test->testType = StatusCake\Test::TYPE_HTTP;

// I'm a little impatient, so I'd like more frequest checks (every 2 minutes)
$test->checkRate = 120;

// Save everything
$statusCake->updateTest($test);

更新测试

更新方式相同

// I've changed my mind, let's check every 5 minutes
$test->checkRate = 300;

// Save the change
$statusCake->updateTest($test);

删除测试

$statusCake->deleteTest($test);

检索测试

检索现有测试列表很简单

$tests = $statusCake->getTests();

检索测试周期

数据周期是两个时间戳,其中状态保持不变。

$periods = $test->getPeriods();

检索测试的性能数据

检索当前网站(此状态蛋糕用户具有高级账户)执行的检查列表。

$periods = $test->getPerformance();

检索测试之前发送的警报

检索已发送的警报列表。

$periods = $test->getAlerts();

联系组

测试可能需要的属性之一是联系组。您可以通过API检索和管理它们。

此处应用与测试相同的原理,即每个联系组都将加载到 StatusCake\ContactGroup 类中(请查看类定义以获取有关属性的更多信息)。

包括了一些辅助函数来处理电子邮件地址。

创建联系组

$contactGroup = new StatusCake\ContactGroup();

// The only required parameter
$contactGroup->groupName = 'personal mail';

// let's add an email to get notifications
$contactGroup->addEmail('maxim.kerstens@gmail.com');

// Save everything
$statusCake->updateContactGroup($contactGroup);

更新联系组

// I've changed my mind, different email
$contactGroup->removeEmail('maxim.kerstens@gmail.com');
$contactGroup->addEmail('maxim@happydemon.xyz');

// Which is the same as doing
$contactGroup->email = ['maxim@happydemon.xyz']

// Save everything
$statusCake->updateContactGroup($contactGroup);

删除联系组

$statusCake->deleteContactGroup($contactGroup);