zumba / deadmanssnitch-sdk
Deadmanssnitch API SDK
3.0.0
2022-10-26 17:22 UTC
Requires
- php: >=8.0
- cakephp/datasource: ^4.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
- psr/log: ^1.0
Requires (Dev)
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.0
README
此库允许轻松访问 Deadmanssnitch 的 API。
您可以使用它通过 API 管理监听器,或者在一个进程完成时通知监听器。
示例通知器使用
<?php use Zumba\Deadmanssnitch\Notifier; $notifier = new Notifier(); $notifier->pingSnitch('snitch id', 'just checking in.');
示例 API 使用
<?php use Zumba\Deadmanssnitch\Client; use Zumba\Deadmanssnitch\Snitch; use Zumba\Deadmanssnitch\Interval; use Zumba\Deadmanssnitch\ResponseError; $client = new Client('your api key here'); // creating a snitch $snitch = new Snitch('My cool process', new Interval(Interval::I_DAILY), [ 'tags' => ['production', 'critical'] ]); try { $client->createSnitch($snitch); } catch (ResponseError $e) { // Failed to create the snitch echo $e->getMessage(); } echo $snitch; // 12312412
安装
composer require zumba/deadmanssnitch-sdk
支持的 API
支持 ping nosnch.in
域以特定监听器。请参阅 Notifier::pingSnitch(string $token, string $message = ''): void
。
SDK 目前支持 DMS API 的 v1
。
- 创建监听器 -
Client::createSnitch(Snitch $snitch): void
- 列出监听器 -
Client::listSnitches(array $tags = []): []Snitch
- 包括通过标签过滤的能力
- 检查监听器 -
Client::examineSnitch(string $token): Snitch
- 编辑监听器 -
Client::editSnitch(Snitch $snitch): void
- 还支持添加标签和删除单个标签(根据 API)。
- 在监听器上设置标签并使用编辑将用提供的标签替换它们。
- 暂停监听器 -
Client::pauseSnitch(string $token): void
- 删除监听器 -
Client::removeSnitch(string $token): void
注意,我们不会支持使用用户名/密码获取 API 密钥。
高级使用
您可以使用自己的 http 客户端和记录器,只要它们分别满足 GuzzleHttp\ClientInterface
和 Psr\Log\LoggerInterface
即可。
<?php use Zumba\Deadmanssnitch\Client; use GuzzleHttp\Client as GuzzleClient; use Monolog\Logger; use Monolog\Handler\StreamHandler; $http = new GuzzleClient([ 'base_uri' => Client::HOST, 'auth' => ['my api key', ''] ]); $logger = new Logger('name'); $logger->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); $client = new Client('my api key', $http, $logger);
但是,请注意,guzzle 客户端是不可变的,因此您将负责设置基本 URI 和身份验证参数。内部,http_errors
被禁用,以便包装和使用我们自己的异常。如果您不禁用此功能,您将需要捕获 Guzzle 异常而不是 Zumba\Deadmanssnitch\ResponseError
。