*/
/**
 * 演示如何使用基本的错误处理
 * 如 token 错误、返回内容无法解析等
 */
require '../vendor/autoload.php';
use Jerrybendy\Coding\Webhook;
use Jerrybendy\Coding\Webhook_Header_Error_Exception;
use Jerrybendy\Coding\Webhook_Post_Content_Error_Exception;
use Jerrybendy\Coding\Webhook_Post_Parse_Error_Exception;
use Jerrybendy\Coding\Webhook_Token_Error_Exception;
/*
 * 在这里定义你的 token , 可以为空
 */
define('TOKEN', 'hello-world');
$webHook = new Webhook(TOKEN);
$webHook->on(Webhook::EVENT_TYPE_PUSH, function ($data) {
    if ($data->ref === 'refs/heads/master') {
        exec('git pull');
    }
})->onFail(function (\Exception $e, $data) {
    /*
     * 函数在出现异常时被触发
     *
     * 参数 $e 包含了此次错误相关的部分信息, 可以根据不同的错误类型
     * 做出相应的处理
     */
    if ($e instanceof Webhook_Header_Error_Exception) {
        echo $e->getMessage();
    } elseif ($e instanceof Webhook_Post_Content_Error_Exception) {
        echo $e->getMessage();
<?php

/**
 * Created by PhpStorm.
 * User: jerry
 * Date: 16/6/13
 * Time: 11:37
 */
/**
 * 演示在 on 函数中通过使用一个数组达到同时绑定多个事件到同一个处理函数的功能,
 * 以及多次调用 on 函数以绑定不同的事件
 */
require '../vendor/autoload.php';
use Jerrybendy\Coding\Webhook;
/*
 * 在这里定义你的 token , 可以为空
 */
define('TOKEN', 'hello-world');
$webHook = new Webhook(TOKEN);
$webHook->on([Webhook::EVENT_TYPE_PUSH, Webhook::EVENT_TYPE_TEST, Webhook::EVENT_TYPE_MR], function ($data) {
    if ($data->ref === 'refs/heads/master') {
        exec('git pull');
    }
})->on(Webhook::EVENT_TYPE_TOPIC, function ($data) {
    var_dump($data);
})->on(Webhook::EVENT_TYPE_MEMBER, function ($data) {
    var_dump($data);
})->run();